检查mysql db中是否存在记录

时间:2013-01-16 15:49:36

标签: php mysql database search

我认为这应该有效但不是......

基本上我正在尝试检查mysql db以查看是否有符合2个变量的记录..如果是,则执行其他操作时不做任何事情。结果总是没有。

$result = mysql_query("SELECT 'lastname' FROM 'Cust_Releases' WHERE 'lastname' = '$usercheck' AND          'TripID'= '$RLtripid'");
echo $result;
if(mysql_num_rows($result) == 0) {
 echo"no";// row not found, do stuff...
} 
else {
 echo"yes"; // do other stuff...
  }

4 个答案:

答案 0 :(得分:1)

首先,停止使用mysql_ *函数,因为从PHP 5.5.0开始不推荐使用此扩展。

第二个总是在数据库名称,表名和列名周围使用(`)符号。

您使用的保留字为RELEASE

$sql = "SELECT `lastname` FROM `Releases` WHERE `lastname` = '$usercheck' AND `TripID` = '$RLtripid'";

Reserved words you find here

答案 1 :(得分:1)

$result = mysql_query("SELECT lastname FROM `Releases` WHERE lastname = '$usercheck' AND TripID= '$RLtripid' LIMIT 1");
if (!$result) {
    die('Invalid query: ' . mysql_error());
}
echo $result;
if(mysql_num_rows($result) == 0) {
 echo"no";// row not found, do stuff...
} 
else {
 echo"yes"; // do other stuff...
  }
  • 像Bondye建议的那样逃离'释放'
  • 在查询中添加“LIMIT 1”,以便在有多个匹配记录时允许提前退出。您似乎不需要总计数。如果存在唯一可以保证只能返回一行的唯一约束,则可能没有任何区别
  • 不推荐使用mysql_query。在实际代码中,您应该使用PDO和预处理语句/绑定变量!

答案 2 :(得分:0)

调试是编程中非常重要的事情。首先要确保varibales $ usercheck和$ RLtripid包含值。

-----------------------
$sql = "SELECT `lastname` FROM `Cust_Releases` WHERE `lastname` = '$usercheck' AND `TripID`= '$RLtripid'";
echo $sql;
$result = mysql_query($sql);
....-------------------

答案 3 :(得分:-1)

Try this code. It will help you

$result =  mysql_query("SELECT COUNT( * ) from Cust_Releases lastname = '$usercheck' AND TripID= '$RLtripid'");
if($result  == 0) {
 echo"no";// row not found, do stuff...
} 
else {
 echo"yes"; // do other stuff...
  }