0

int、string、および blob をすべて同じ php 配列に保存するにはどうすればよいですか。これが私が試したもので、同じエラーが発生し続けます-

Warning: mysql_fetch_array() expects parameter 1 to be resource,
boolean given in D:\Hosting\11116942\html\index.php on line 42 

次のようにデータベースに接続しています。

$query = mysql_query("SELECT * FROM data WHERE index ='1'");
$data= mysql_fetch_array($query);
echo $data["title"]

私がやっていることは何か間違っていますか?

4

2 に答える 2

0

マニュアルから:-

他のタイプの SQL ステートメント、INSERT、UPDATE、DELETE、DROP などの場合、mysql_query() は成功時に TRUE を返し、エラー時に FALSE を返します。

...

mysql_query() も失敗し、ユーザーがクエリによって参照されるテーブルにアクセスする権限を持っていない場合、FALSE を返します。

あなたのコードでは、何らかの理由で失敗している$queryように = falseです。mysql_query()データベースに接続していること、およびデータベースにアクセスする権限があることを確認してください。

文字列でクエリを実行しているため、インデックスのデータ型も確認してください。おそらくintであると思われます。試す:-

$query = mysql_query("SELECT * FROM `data` WHERE index = 1");

そして、mplfで提案されているように戻り値を確認してください。

マニュアルは時折役に立ち、物事がうまくいかないときに人々を正しい方向に導くことが知られています。

また、新しいコードで関数を使用しないでくださいmysql_*。それらはもはや保守されておらず、非推奨プロセスが開始されています。代わりに準備済みステートメントについて学び、 PDOまたはMySQLiを使用してください。この記事は、どちらを決定するのに役立ちます。PDO を選択する場合は、ここに良いチュートリアルがあります。

于 2013-06-08T17:55:29.117 に答える
0

実行しているクエリは、おそらく行を返していません。これを試して:

if (false !== ($query = mysql_query("SELECT * FROM data WHERE index ='1'")) {
    $data = mysql_fetch_array($query);
    echo $data['title'];
}
于 2013-06-08T17:33:16.677 に答える