MySQL テーブルからデータを選択しようとしていますが、次のいずれかのエラー メッセージが表示されます。
mysql_fetch_array() はパラメータ 1 がリソースであることを期待しており、ブール値が与えられています
これが私のコードです:
$username = $_POST['username'];
$password = $_POST['password'];
$result = mysql_query('SELECT * FROM Users WHERE UserName LIKE $username');
while($row = mysql_fetch_array($result)) {
echo $row['FirstName'];
}
ベストアンサー1
クエリはさまざまな理由で失敗する可能性があります。その場合、mysql_* と mysqli 拡張機能の両方がそれぞれfalse
のクエリ関数/メソッドから戻ります。そのエラー状態をテストし、それに応じて処理する必要があります。
注mysql_関数は非推奨ですPHP バージョン 7 では削除されました。
$result
に渡す前に確認してください。クエリが失敗したことが原因でmysql_fetch_array
あることがわかります。考えられる戻り値とその対処方法については、[ ][1] ドキュメントを参照してください。false
mysql_query
$username = mysql_real_escape_string($_POST['username']);
$password = $_POST['password'];
$result = mysql_query("SELECT * FROM Users WHERE UserName LIKE '$username'");
if($result === FALSE) {
trigger_error(mysql_error(), E_USER_ERROR);
}
while($row = mysql_fetch_array($result))
{
echo $row['FirstName'];
}