2012-03-20 9 views
-1

可能性の重複:
mysql_fetch_array() expects parameter 1 to be resource, boolean given in select
PHP警告:はmysql_num_rows()は、パラメータ1は、ライン上/home/website/public_html/facebook/fbclogin.phpで与えられたリソース、boolean型であることが期待57

Warning: mysql_fetch_* expects parameter 1 to be resource, boolean given error

警告:はmysql_num_rows()は、パラメータ1は、ライン上/home/website/public_html/facebook/fbclogin.phpで与えられたリソース、boolean型であることが期待57

これはラインです:

if (mysql_num_rows($rs)) $u = mysql_fetch_array($rs); else $u=""; 

、これはいただきましたその周りにある:

// with the user id from facebook retrived with the API, 
// search for a user already registered with this process: 
$rs = mysql_query("select * from users where fb_userid='$fb_user'"); 

if (mysql_num_rows($rs)) $u = mysql_fetch_array($rs); else $u=""; 

if (is_array($u)) { 

は、なぜ私はこのエラーを取得していますし、私は起きてからそれを停止するために何をすべきでしょうか?

ありがとうございました。

+0

を試してみてくださいこのリンクはあなたを助けたかもしれません:http://us2.php.net/manual/en/function.mysql-query.php – dldnh

+0

また、それは価値があるため、mysql_real_escape_stringを使ってSQLインジェクションを実際に避けるべきです。http: /us2.php.net/manual/en/function.mysql-real-escape-string.php – dldnh

+0

真剣に、なぜ下院議員ですか? –

答えて

0

これは、MySQLクエリが正しく実行されなかったことを意味します。あなたは何が悪かったのかを把握するためにこれを使用することができます。

$rs = mysql_query("select * from users where fb_userid='$fb_user'") 
or die(mysql_error()); 

をこの場合には、問題はあなたが必要な `マーク内のテーブル名とカラム名を同封していないということであるようだが、そう

$rs = mysql_query("select * from `users` where `fb_userid`='$fb_user'") 
or die(mysql_error()); 
+1

マークは必須ではありません。 – rogeriopvl

+0

Heh、私はいつもアンダースコアも含むテーブル/カラム名にバックティックが必要だと思っていましたが、明らかにあなたは正しいです:それはハイフンの場合のみです。それでも、いつもそれらを使うのは良い習慣だと思います。 – Daan

2

mysql_queryクエリが正常に実行された場合はリソースを返し、問題が発生した場合はFALSEを返します。ブール値でmysql_num_rows()と呼んでいるという文句があるので、クエリが間違っていることを意味します。

0

おそらく、エラーがあるため、mysql_query()はfalseを返します。

$rs = mysql_query("select * from users where fb_userid='$fb_user'") or die('Invalid query: ' . mysql_error());; 
関連する問題

 関連する問題