2015-09-16 47 views
0

有人請向我解釋並協助將我的舊代碼轉換爲新的MySQLi格式嗎?我將不勝感激。請幫我轉換我的MySQL到MySQLi

這是我當前的代碼:

<html> 
    <head> 
     <title>Last 10 Results</title> 
    </head> 
    <body> 
     <table> 
     <thead> 
      <tr> 
       <td>Id</td> 
       <td>Name</td> 
      </tr> 
     </thead> 
     <tbody> 
     <?php 
      $connect = mysql_connect("localhost","root", "root"); 
      if (!$connect) { 
       die(mysql_error()); 
      } 
      mysql_select_db("apploymentdevs"); 
      $results = mysql_query("SELECT * FROM demo LIMIT 10 ORDER BY Id"); 
      while($row = mysql_fetch_array($results)) { 
      ?> 
       <tr> 
        <td><?php echo $row['Id']?></td> 
        <td><?php echo $row['Name']?></td> 
       </tr> 

      <?php 
      } 
      ?> 
      </tbody> 
      </table> 
    </body> 
</html> 

我再次體會到幫助。

這是我做了什麼(我很抱歉,我這樣的小白)

    <?php 
         // Database details 
         $dbhost = 'localhost'; 
         $dbuser = '#'; 
         $dbpass = '#'; 
         $dbname = '#'; 
         $db = new mysqli($dbhost, $dbuser, $dbpass, $dbname); 
         if($db->connect_errno > 0){ 
          die('Unable to connect to database [' . $db->connect_error . ']'); 
         } 
         $results = mysqli_query("SELECT * FROM formdata LIMIT 10 ORDER BY id"); 
         while($row = mysqli_fetch_array($results)) { 
         ?> 
          <tr> 
           <td><?php echo $row['ID']?></td> 
           <td><?php echo $row['FullName']?></td> 
           <td><?php echo $row['Mobile']?></td> 
           <td><?php echo $row['Email']?></td> 
           <td><?php echo $row['Province']?></td> 
          </tr> 

         <?php 
         } 
         ?> 
+1

你有沒有嘗試過什麼? –

+0

我有,但我很慚愧地添加它 –

+0

@ Fred-ii-我已經添加了我認爲正確的東西,但請不要對我吼我正在學習。 –

回答

2

更新這一行:

$results = mysqli_query("SELECT * FROM formdata LIMIT 10 ORDER BY id"); 

$results = mysqli_query($db, "SELECT * FROM formdata ORDER BY id LIMIT 10"); 
+1

我有一個很不錯的感覺,他低估了我們。我們中間有一條「蛇」。 –

+0

謝謝你的回答,你和Fred,我的mysqli_fetch_array部分是否正確? –

+0

是的,該部分是正確的,但它可以採用可選參數。但它可以保持原樣。 – NaijaProgrammer

2

這裏的問題是,你還沒有傳遞到您的查詢的連接

$results = mysqli_query($db, "SELECT 
         ^^^^ 

閱讀文檔:

mysql_不同,它必須作爲參數傳遞。

然後確保您的查詢不失敗。


編輯:

腳註:

至於到OP評論抓到通過NaijaProgrammer,LIMIT去ORDER BY後,是一個完整的對我的監督。

「建議:1。檢查你的表名2.運行在phpMyAdmin代碼3.將ORDER BY語句的LIMIT語句之前 - NaijaProgrammer。」

參考的選擇:

從手動

實施例:

SELECT 
    [ALL | DISTINCT | DISTINCTROW ] 
     [HIGH_PRIORITY] 
     [STRAIGHT_JOIN] 
     [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT] 
     [SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS] 
    select_expr [, select_expr ...] 
    [FROM table_references 
    [WHERE where_condition] 
    [GROUP BY {col_name | expr | position} 
     [ASC | DESC], ... [WITH ROLLUP]] 
    [HAVING where_condition] 
    [ORDER BY {col_name | expr | position} 
     [ASC | DESC], ...] 
    [LIMIT {[offset,] row_count | row_count OFFSET offset}] 
    [PROCEDURE procedure_name(argument_list)] 
    [INTO OUTFILE 'file_name' export_options 
     | INTO DUMPFILE 'file_name' 
     | INTO var_name [, var_name]] 
    [FOR UPDATE | LOCK IN SHARE MODE]] 

我想指出,雖然如此,您在這裏使用的是小寫字母「id」ORDER BY id,這對ORDER BY來說應該不是問題。

然而,$row['ID']$row['id']之間的差。如果您的數據庫配置爲區分大小寫,那麼您將需要以小寫形式寫入ID。

+1

當有人說「我是一個小菜鳥」時,很多時候,他們沒有完全掌握官方的PHP手冊,這就是他們可能首先來到SO的原因。然後,他們通常會更喜歡爲他們完整編寫代碼。我是從經驗中發言的。 – NaijaProgrammer

+0

@NaijaProgrammer這是可以理解的。我也曾經是一個新手,我不知道Google應該怎麼做。我們當然在很多年前說話了;-) –

+0

聽這個人 –