簡體   English   中英

SELECT * FROM不選擇MySQL表中的第一行

[英]SELECT * FROM not picking up first row in MySQL table

我不確定這是我的錯誤還是愚蠢的錯誤,但我想顯示數據庫中的戲劇和戲劇表演清單。

我可以讓它從第2行/第2行向下顯示-但它根本不會顯示第一行。 如果只有一個條目,則不顯示任何內容。 我已經嘗試過更改每個ID的ID,但似乎只是第一個輸入的ID沒有被拾取,而后面輸入的ID是。

顯示該表的代碼如下。

<?php
$con = mysql_connect("localhost"," me "," mypass word");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

  mysql_select_db(" database name", $con);

  $data = mysql_query("SELECT * FROM table") 
 or die(mysql_error());
 $info = mysql_fetch_array( $data );

 while($info = mysql_fetch_array( $data )) 
 {
 Print "<tr><td style='background-color: #D3D3D3;  '>";
 Print " ".$info['title'] . " ";
 Print "</td>";

...等等...

   Print "</td> </tr>";
 } 

?>
    </table>

看起來很簡單,但我完全不知道。 任何幫助,不勝感激。

刪除此行

 $info = mysql_fetch_array( $data );

您使用了兩次。 在while循環中

您兩次調用mysql_fetch_array()

刪除第一個:

 $info = mysql_fetch_array( $data );

刪除此行

 $info = mysql_fetch_array( $data );

嘗試這個

<?php
$con = mysql_connect("localhost"," me "," mypass word");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

  mysql_select_db(" database name", $con);

  $data = mysql_query("SELECT * FROM table") 
 or die(mysql_error());

 while($info = mysql_fetch_array( $data )) 
 {
 Print "<tr><td style='background-color: #D3D3D3;  '>";
 Print " ".$info['title'] . " ";
 Print "</td>";

您正在兩次調用mysql_fetch_array() -在while循環中及其上方。

 $info = mysql_fetch_array( $data );

這是因為,您要兩次提取數組:

$info = mysql_fetch_array( $data );

在這里,將獲取數組的當前第一個元素,並將當前元素設置為第二個元素。 因此,以下行從第二個元素中獲取數組元素。

while($info = mysql_fetch_array( $data ))

只需刪除線

$info = mysql_fetch_array( $data );

並做了。

這不是錯誤。

每當你發送mysql_fetch_array( $data ); 它獲取一行並自動提升內部行標識符屬性。 下次調用同一函數時,它將從第二行開始。

當演示的行為並非您想要執行的操作時,在循環外將賦值與PHP mysql函數結合使用是不切實際的。

通過刪除$info = mysql_fetch_array( $data ); 行代碼將按預期運行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM