2013-10-01 90 views
-2


我有而loop.In這個第一列數據沒有得到剩餘的數據及彼
一個問題是我的代碼
第一列數據,while循環缺少時mysql_fetch_array()

$result_By_Vendor_And_Title = mysql_query("select * from cek6q_jshopping_products where vendor_id = " . $vendor . " and name_en-GB='" . $title . "'"); 

if (mysql_fetch_array($result_By_Vendor_And_Title)) { 
     echo 'found'; 
     while ($rows = mysql_fetch_array($result_By_Vendor_And_Title)) { 
      echo $id = $rows['product_id']; 
     } 
} 
echo 'not found'; 

這裏我想顯示所有的ID,但我已經得到所有的ID,除了第一個,我怎麼能得到第一個。

+3

因爲您爲「found」測試的mysql_fetch_array()調用正在提取並放棄第一行,請使用[mysql_num_rows()](http://www.php.net/manual/en/function.mysql -num-rows.php)來確定是否發現了一個結果....然後瞭解MySQLi/PDO並準備了語句/綁定變量 –

+0

謝謝你的代碼不工作,我還沒有得到第一行,直到現在也 –

+0

我們已經向您解釋了原因問題:您有兩種編碼解決方案,這兩種方法都行得通......如果他們不工作,那麼您已經弄糟了其他東西了....向我們展示您的最新代碼 –

回答

1

因爲fetch_array你做測試發現的是獲取和丟棄的第一行 只是試試這個

$result_By_Vendor_And_Title = mysql_query("select * from cek6q_jshopping_products where vendor_id = '" . $vendor . "' and name_en-GB='" . $title . "'"); 

if($result_By_Vendor_And_Title){ 
if(mysql_num_rows($result_By_Vendor_And_Title)>0){ 
    echo 'found'; 
    while ($rows = mysql_fetch_array($result_By_Vendor_And_Title)) { 
    echo $id = $rows['product_id']; 
    } 
}else{ 
    echo 'not found'; 
} 
} 
+0

謝謝你的代碼不工作,我還沒有得到第一排,直到現在也 –

0

嘗試:

if(mysql_num_rows($result_By_Vendor_And_Title) > 0) { 
    echo 'found'; 
    while ($rows = mysql_fetch_array($result_By_Vendor_And_Title)) 
    { echo $id = $rows['product_id']; } 
}else{ 
    echo 'not found'; 
} 

不要使用mysql_ *函數。

+0

爲什麼不使用mysql_可以詳細說明我plz –

+0

因爲它不安全,現在不推薦使用。學習MySQLi/PDO。網上有很多教程。它解決了你的查詢嗎? –

+0

從'PHP 5.5.0'開始,'mysql_ *'庫被**棄用**。所以如果你將來升級你的PHP,這個應用程序將無法工作。 – Saravanan