可能性のある複製:
mysql_fetch_array()はパラメータ1がリソースであると想定し、ブール値はselectで指定されます
ここに簡単な質問。
SELECTクエリがあります
SELECT FROM friendzone WHERE ID = '$editID'"
これにより、結果として1行のみが得られると確信しています。原因IDはDB内で重複できません。
列の値にアクセスするにはどうすればよいですか?
$row = mysql_fetch_array($query);
配列を作成する必要がないため、これは役に立たないと思います。
While cicleに入れないで、たとえば.
.$row['ID'].
私は得る:
mysql_fetch_array() expects parameter 1 to be resource, boolean given
事前に感謝します。
新しいコードで
mysql_*
関数を使用しないでください それらはもはやメンテナンスされておらず、 非推奨プロセス が開始されています。 赤いボックス ?を参照してください prepared statement について学び、代わりに [〜#〜] pdo [〜#〜] または MySQLi - この記事 はどちらを決定するのに役立ちます。 PDOを選択する場合は、 こちらが良いチュートリアルです 。
で試してください:
$query = mysql_query("SELECT * FROM friendzone WHERE ID = '$editID'");
$row = mysql_fetch_array($query);
print_r($row);
MySQLiコード:
$conn = new mysqli('Host', 'username', 'password', 'database');
$stmt = $conn->prepare("SELECT * FROM friendzone WHERE ID = ?");
$stmt->bind_param("s", $editID);
$stmt->execute();
$result = $stmt->get_result();
$row = $result->fetch_assoc();
print_r($row);
おそらく、あなたの_$query
_はfalse
と等しいです。何かがうまくいかなかったので、mysql_error()
を試して、何が間違っているかを確認してください。
そして2つの小さなアドバイス:
mysql_ *関数は廃止されているため、PDO
od mysqli
を使用することをお勧めします。
少なくともmysql_real_escape_string()
を使用して、値をエスケープしてからSQL文字列に入れます
Selectの一般的な構文を選択しようとしている列がわからないので
"SELECT column1, column2, column3 FROM friendzone WHERE ID ='$editID'"
または、すべての列を選択する場合は、単に入力します
"SELECT * FROM friendzone WHERE ID = '$editID'"