2012-05-07 103 views
0

我有一個問題,我不明白髮生了什麼事。 我有一個完美的mysql查詢。它應該在表格中返回一行。PHP/Mysql的奇怪錯誤mysql_query和mysql_fetch_object

$res = mysql_query($query);  
$myobj = mysql_fetch_object($res); 

當我這樣做:

var_dump($myobj); 

它返回:

object(stdClass)#3 (25) { ["id"]=> string(2) "10" ["cookie"]=> string(3) "yes" ["nb_pts_per_question"]=> string(2) "50" ["product"]=> string(10) "MyProduct" } bool(false) 

對象的聲音完整,但在後續代碼var_dump結束時,你可以看到一個布爾(假)

同樣,查詢在我運行到mysql時正常工作。

有什麼想法?

謝謝!

+0

請告訴你在哪裏把你的'var_dump' –

+0

下面是完整的全碼代碼:function _construct(){$ query =「...」; $ res = mysql_query($ query); $ myobj = mysql_fetch_object($ res);後續代碼var_dump($ MyObj中); }沒有循環,沒有什麼特別的: –

+1

如果你在'var_dump($ myobj);'後面立即加上'die();'' – Daan

回答

0

那的確是有點怪......

只是出於好奇,什麼輸出給人的print_r($ MyObj中)?

最後,是否使用你的對象工作?

+0

print_r給出了stdClass對象([id] => 10 [cookie] =>是[nb_pts_per_question] => 50 [product] => Product)並且最終,對象不起作用:( –

+0

也許它返回(bool)false的事實是該對象不工作,你是否嘗試使用fetch_row而不是? – nembleton

0

由於您正在使用mysql_fetch_object()這就是爲什麼您要將這個結果導出,請參閱此鏈接http://php.net/manual/en/function.mysql-fetch-object.php。您可以使用mysql_fetch_assoc()

+0

問題不在於它是stdClass對象,而是在對象轉儲結束時的'bool(false)' –

+0

Err ...你在試圖要說這個布爾值表示這是結果集中的最後一行?爲什麼還要鏈接到這個?:) – Daan

1

看起來像一個流浪var_dump。你不把你的var_dump放在while循環中嗎?這就解釋了bool (false)

+0

不,它不在循環中沒有什麼特別的var_dump –

-1

bool(false)值是沒有更多的數據指標 見this link 它說,

Return Values 

Returns an object with string properties that correspond to the fetched row, 
or FALSE if there are no more rows.