Mysql_num_rows() 呼び出しエラー。助けてください。
$name=$_POST['ユーザー名'];
$pwd=$_POST['パスワード'];
$con=mysql_connect("localhost","root","123456" );
mysql_select_db("leelogin_db",$con);
if($name&&$pwd){
$sql="SELECT * FROM lee_tb WHERE ユーザー名 = '$name' およびパスワード = '$pwd '";
echo $sql;
$res=mysql_query($sql);
$rows=mysql_num_rows($res);
echo $rows;
if($ rows){
echo "cb07111ca5ae5ef678bbf0d01d0237c0alert('ログイン成功!');history.back()2cacc6d41bbb37262a98f745aa00fbf0";
}
}
上記は $sql と $rows を出力するために 2 つのエコーを追加しましたが、毎回次のようなエラーが表示されます:
SELECT * FROM lee_tb。 WHERE username='admin'、password ='12456'
警告: mysql_num_rows() はパラメータ 1 がリソースであることを期待しており、F:xampphtdocsphpstudylogin.php の 18 行目で指定されたブール値です
パラメータ 1 は 3 つありますphpmyadmin の対応するデータ テーブルのフィールド、自己増加する personID ユーザー名、パスワードですが、結果セットをクエリすることはできません。助けを求めてください~~~~
-----解決策のアイデア--- ----------- --------
覚えておいてください、このエラーが発生します。 警告: mysql_num_rows() はパラメータ 1 がリソース、つまり F:xampphtdocsphpstudylogin で指定されたブール値であることを想定しています。 php 18 行目
基本的に、mysql_query($sql) が間違っています。つまり、SQL ステートメントが間違っています。
username='admin' と and の間にはスペースが必要です。フィールドに文字列を格納する場合は、引用符を追加してください。数値の場合は引用符を追加しないでください。パスワード=12456
<br />SELECT * FROM lee_tb WHERE username='admin' and password='12456'<br />