2015-09-25 36 views
0
$result = mysql_query("SELECT * FROM customer where index = '" . $index . "'"); 
    $row = mysql_fetch_array($result); 


    while($row = mysql_fetch_array($result)){ 
    results 
     echo $row['index'] . " | " . $row['name'] . " | " . $row['contact'] . " | " . $row['email'] ; 

     } 

爲什麼我不能顯示選定的$索引?我的結果是空的。如何顯示我選擇的索引在我的php

**在我的數據庫中,索引是int和AUTO_INCREMENT,是因爲索引是int還是找不到?

+0

請停止使用mysql_ *函數,它們在5.5中已被棄用,並且將在7中完全刪除。使用mysqli或PDO庫中的準備好的語句代替。 – Orangepill

回答

1

當你自動增加它時,你很可能只得到一行作爲結果,所以當你第一次調用$row = mysql_fetch_array($result);時,你的值被設置,然後當你在while循環中再次調用它時它變得空白。

試試這個:

$result = mysql_query("SELECT * FROM customer where `index` = '" . $index . "'"); 
$row = mysql_fetch_array($result); 
echo $row['index'] . " | " . $row['name'] . " | " . $row['contact'] . " | " . $row['email'] ; 
+0

如果你堅持以這種方式在sql中放置$ index,你至少應該使用intval($ index)來確保沒有可注入的文本使它在那裏。 – Orangepill

3

它可能有可能是你的領域index是與MySQL衝突保留關鍵字index所以把反引號(')沿字像下面看到的結果

$result = mysql_query("SELECT * FROM customer where `index` = '" . $index . "'"); 

注意:永遠不要使用與保留關鍵字相同的字段名稱,它可能在某處發生衝突。

+1

索引是一個保留關鍵字。這裏有一個鏈接到完整列表https://dev.mysql.com/doc/refman/5.5/en/keywords.html。 – chris85

+1

正確的'index'是mysql中的保留關鍵字 – Saty

相關問題