我正在使用这个简单的代码在标题上说出问题。
//Only Validate if the date is unique
$checkdatequery = mysql_query("SELECT TOP 1 * FROM user_info WHERE date ='".mysql_real_escape_string(stripslashes($_REQUEST['date']))."'", $db);
$rownumxx = mysql_num_rows($checkdatequery);
if($rownumxx == 0)
{
echo'You are allowed to proceed.';
}
else
{
echo'You are not allowed to proceed.';
}
我不确定我做错了什么。在此先感谢那些愿意提供帮助的人
答案 0 :(得分:3)
MySQL中没有TOP
个关键字,您应该使用LIMIT
应该是
$checkdatequery = mysql_query("SELECT * FROM user_info WHERE date ='".mysql_real_escape_string(stripslashes($_REQUEST['date']))."' LIMIT 1", $db);
答案 1 :(得分:0)
检查查询。每当你有这样的错误时,可能代替MySQL结果,由于某些查询错误而导致bool错误。正如其他答案所述。 “TOP”可能是你的问题!
答案 2 :(得分:0)
你应该使用
$checkdatequery = mysql_query("SELECT * FROM user_info WHERE date ='".mysql_real_escape_string(stripslashes($_REQUEST['date']))."' ORDER BY YOUR_INCR/UNIQUE KEY DESC LIMIT 1", $db);
答案 3 :(得分:0)
如果想要最新记录,请尝试此操作:
$checkdatequery = mysql_query("SELECT * FROM user_info
WHERE date ='".mysql_real_escape_string(stripslashes($_REQUEST['date']))."'
ORDER BY <key column name> DESC LIMIT 1", $db);
提供表格中的关键列名称 否则:
$checkdatequery = mysql_query("SELECT * FROM user_info
WHERE date ='".mysql_real_escape_string(stripslashes($_REQUEST['date']))."'
LIMIT 1", $db);
答案 4 :(得分:0)
尝试此查询
$date = $_REQUEST['date'];
$checkdatequery = mysql_query("SELECT * FROM user_info WHERE date ='".mysql_real_escape_string(stripslashes($date))."' ORDER BY YOUR_INCR/UNIQUE KEY DESC LIMIT 1", $db);
答案 5 :(得分:0)
如果您使用mssql作为数据库
define('DSN', 'sqlsrv:server=localhost;database=dbname');
define('USER', 'username');
define('PASS', 'password');
$dbh = new PDO(DSN, USER, PASS);
$query='SELECT TOP 1 * FROM user_info WHERE date = :date';
$q = $dbh->prepare($this->query);
$data = array(":date"=>"your date");
$q->execute($data);
if(abs($q->rowCount()))
{
$q->setFetchMode(PDO::FETCH_OBJ);
echo'You are not allowed to proceed.';
}
else
{
echo'You are allowed to proceed.';
}
如果您使用mysql作为数据库
define('DSN', 'mysql:server=localhost;database=dbname');
define('USER', 'username');
define('PASS', 'password');
$dbh = new PDO(DSN, USER, PASS);
$query='SELECT * FROM user_info WHERE date = :date LIMIT 1';
$q = $dbh->prepare($this->query);
$data = array(":date"=>"your date");
$q->execute($data);
if(abs($q->rowCount()))
{
$q->setFetchMode(PDO::FETCH_OBJ);
echo'You are not allowed to proceed.';
}
else
{
echo'You are allowed to proceed.';
}