0

PHPで投票システムを作成しようとしています。ログイン情報を含むフィールドとして「USER」と「PASS」を持つ標準テーブルを作成することとは別に、フィールド「USER」と「CHECK」を持つ別のテーブルを作成しました。ここで、「CHECK」はデフォルト値が「0」のバイナリ INT です。 "。しかし、学生が投票すると、「CHECK」フィールドは「1」に更新されます。

最初に「USER」と「PASS」のレコードをチェックし、次に「USER」と「CHECK」テーブルの別のレコードをチェックしてデフォルト値の「0」をチェックし、投票を許可するようにログインスクリプトを設計しました。「1」の場合、「AlreadyVoted.htm」ページにリダイレクトされます。

<?php
session_start();
$_SESSION['StudentID']=$_POST['UserID'];

include 'db_conneck.php';

$studentid=mysql_real_escape_string($_POST['UserID']);
$userpass=mysql_real_escape_string($_POST['LogPass']);
$sql="SELECT * FROM user_login WHERE studentid='$studentid' and password='$userpass'";
$sql1="SELECT * FROM check_login WHERE studentid='$studentid' and check='0'";
$sql2="SELECT * FROM check_login WHERE studentid='$studentid' and check='1'";
$result=mysql_query($sql);
$result1=mysql_query($sql1);
$result2=mysql_query($sql2);
$count=mysql_num_rows($result);
$count1=mysql_num_rows($result1);
$count2=mysql_num_rows($result2);

if ($count==1 and $count1==1){
    header ("location:FirstVote.php");
}
else if ($count==1 and $count2==1){
    header ("location:AlreadyVoted.html");
}
else {
    echo "Information Not On Database";
}
exit()
?>

ただし、このエラーが発生します

警告: mysql_num_rows() は、パラメーター 1 がリソースであると想定し、ブール値は C:\xampp\htdocs\xampp\FirstVotePage\LoginCombo.php の 13 行目に指定されています

警告: mysql_num_rows() は、パラメーター 1 がリソースであると想定し、14 行目の C:\xampp\htdocs\xampp\FirstVotePage\LoginCombo.php で指定されたブール値 データベースにない情報

4

4 に答える 4

1
$result=mysql_query($sql) or die(mysql_error());
$result1=mysql_query($sql1) or die(mysql_error());
$result2=mysql_query($sql2) or die(mysql_error());

注 : mysql 拡張機能は推奨されておらず、将来削除される予定です。

于 2013-08-05T09:29:07.100 に答える
1

CHECK予約済みのキーワードで、バックティックでエスケープする必要があります。

代わりにこれらのクエリを使用してください。

 $sql1="SELECT * FROM check_login WHERE studentid='$studentid' and `check`='0'";
 $sql2="SELECT * FROM check_login WHERE studentid='$studentid' and `check`='1'";
于 2013-08-05T09:35:18.307 に答える
0

クエリに問題があります。クエリをエコーし​​てから、データベースで手動で実行してみてください。

あなたのクエリは、リソースではなく false のブール値を返しています。

于 2013-08-05T09:34:47.460 に答える