-1

以下のように「ログインアクションボタンフォーム」を含むフォームを1つ作成しました

<?php

include "dbconnect.php";

$username = $_POST['username'];
$password = $_POST['password'];

$query = "select * from login where username='$username' AND password='$password'";
// var_dump($result);

$result =  mysql_query($query);
$count = mysql_num_rows($result);

if($count==1)
{
    header("location:fill-detail.php");
}
else 
{
    echo 'Sorry, Wrong ID and Password';
}

?>

結果配列も表示する ver_dump を使用しましたが、警告: mysql_num_rows(): 提供された引数は有効な MySQL 結果ではありません。

4

2 に答える 2

3

を使用mysql_error($connection)すると、フレンドリーなメッセージが返されるため、この問題が発生します。

これらの場合の一般的なエラー (クエリは静かで単純であるため) は、列名のスペルミスであり、間違ったテーブルを選択しています..

注意事項:

  • mysql_()は非推奨です。 mysqli_()またはPDOを使用する必要があります。
  • あらゆる種類のクエリを処理する前に、データをエスケープしてサニタイズする必要があります
  • *良い習慣ではないすべての列を選択するために使用しています。常に関連する列のみをフェッチしてください
  • これは重要です - パスワードをハッシュしてください
于 2013-07-16T09:20:55.857 に答える
1

このコード行を変更して、出力されるエラーを確認します

$result =  mysql_query($query) or die(mysql_error());
于 2013-07-16T09:27:50.963 に答える