2012-11-15 20 views
0

可能重複:
mysql_fetch_array() expects parameter 1 to be resource, boolean given in selectPHP - > MySQL |如何處理選擇結果

背景資料:

對於SELECT,SHOW,描述,解釋等語句返回 結果集,請求mysql_query ()在成功時返回資源,或在 錯誤時返回FALSE。

對於其他類型的SQL語句,INSERT,UPDATE,DELETE,DROP等, mysql_query()在成功時返回TRUE或在錯誤時返回FALSE。

如果SELECT在成功時返回一個資源,它是否在成功時實際返回TRUE?那麼它仍然有效嗎?:

<?php 
$result = mysql_query('SELECT * WHERE 1=1'); 
if ($result) { 
    //resultset is valid? 
} 

?> 

我幾乎可以肯定它的確如此,但是它是如何工作的? mysql_query()是否返回多個屬性?

+0

請先閱讀文檔,然後再問簡單問題:http://it1.php.net/mysql_Query另請勿使用mysql_ * – dynamic

+0

@ yes123您認爲我從哪裏獲得背景信息:p。嗯,我讀過你展示的鏈接,不,那不是我的問題。無論如何,謝謝:) – user1178560

回答

2

PHP manual entry on booleans

當轉換爲布爾值,下面的值被認爲是 FALSE:

  • 布爾值FALSE
  • 整數0(零)
  • 的float 0.0(零)
  • 空字符串,字符串「0」
  • 用零個元素
  • 零個成員變量的對象的陣列(PHP 4只)
  • 特殊類型NULL(包括尚未設定的變量)從空標籤

每個創建的

  • SimpleXML的對象其他值被視爲TRUE(,包括任何資源)。

  • 重點是我的,但適用於您的情況。

    此外,不要在代碼中使用mysql_*函數。這些功能不再保持,並且是being deprecated。相反,您應該使用MySQLiPDO。不知道使用哪個? This article應該有所幫助。

    +0

    非常感謝!我會立即潛入MYSQLi/PDO :) – user1178560

    +0

    不客氣!不要忘記將答案標記爲已接受;它將幫助未來的訪問者解決這個問題。 –