2012-08-16 68 views
0

下面的函數將用於將Facebook訪問令牌輸入到數據庫中。用戶標識已經有一個關聯的記錄,所以「acc_tok」字段只需要更新。mysql_query成功但獲取mysql_fetch_array()期望參數1成爲資源

出於某種原因,即使$ _result值保持爲「1」,功能相呼應,將發出警告時出現,說:「成功!」:

「警告:mysql_fetch_array()預計參數1是資源,布爾給定「。有誰知道爲什麼看起來查詢是成功的,但只返回一個布爾值,而不是mysql_fetch_array可以使用的東西?感謝您閱讀

function setUserAccessToken($_uid, $_accTok){ 
     $sql = "UPDATE `user_core` SET `acc_tok`=$_accTok WHERE `id` = $_uid"; 
     $_result = mysql_query($sql) or die($sql."<br/><br/>".mysql_error()); 
     echo $_result; 
     if ($_result) { 
     echo ("Successful!"); 
      $_resultArray = mysql_fetch_array($_result); 
      print_r($_resultArray); 
     } else { 
      echo ("Failed!"); 
     } 
} 
+1

它可能無助於回答你的問題,但你應該停止使用'mysql_ *'函數。他們正在被棄用。請使用[PDO](http://php.net/manual/en/book.pdo.php)(自PHP 5.1起支持)或[mysqli](http://php.net/manual/en/book)。 mysqli.php)(自PHP 4.1起支持)。如果你不確定使用哪一個,[閱讀本文](http://net.tutsplus.com/tutorials/php/pdo-vs-mysqli-which-should-you-use/)。 – Matt 2012-08-16 16:54:32

+0

'var_dump($ _ result)'給你什麼? – Matt 2012-08-16 16:55:08

回答

6

你正在做的UPDATE查詢,沒有行從結果獲取,從mysql_query()因此一個布爾值,而不是資源。

the manual

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

+0

哦,我的天啊......那真是令人尷尬.. – user1058210 2012-08-16 17:13:29

相關問題