Php 避免数据库中的重复记录
为什么即使数据库中存在患者姓名,它仍要插入新记录Php 避免数据库中的重复记录,php,html,mysql,Php,Html,Mysql,为什么即使数据库中存在患者姓名,它仍要插入新记录 if(mysql\u num\u rows($sql)==0)正确吗?查询可能由于某种原因失败。这意味着$sql是一个布尔值FALSE。您试图将该FALSE传递给mysql\u num\u rows(),但也失败了,因为它希望得到一个结果句柄。这意味着mysql_num_rows()还返回布尔值FALSE。在PHP中,false==0是TRUE,因此执行insert语句 从不假设查询已成功始终检查故障。这意味着,作为最低要求,您必须: // Ch
if(mysql\u num\u rows($sql)==0)
正确吗?查询可能由于某种原因失败。这意味着$sql
是一个布尔值FALSE。您试图将该FALSE
传递给mysql\u num\u rows()
,但也失败了,因为它希望得到一个结果句柄。这意味着mysql_num_rows()还返回布尔值FALSE
。在PHP中,false==0
是TRUE
,因此执行insert语句
从不假设查询已成功始终检查故障。这意味着,作为最低要求,您必须:
// Check to see if p_name exists
$sql = mysql_query("SELECT patient_name FROM patient WHERE patient_name = '" . $p_name . "'");
if (mysql_num_rows($sql) == 0){
// patient database
mysql_query("INSERT INTO patient (patient_name)
VALUES ( '$p_name' )") or die (mysql_error());
}
else
die ("Patient name exist!");
查询可能由于某种原因而失败。这意味着
$sql
是一个布尔值FALSE。您试图将该FALSE
传递给mysql\u num\u rows()
,但也失败了,因为它希望得到一个结果句柄。这意味着mysql_num_rows()还返回布尔值FALSE
。在PHP中,false==0
是TRUE
,因此执行insert语句
从不假设查询已成功始终检查故障。这意味着,作为最低要求,您必须:
// Check to see if p_name exists
$sql = mysql_query("SELECT patient_name FROM patient WHERE patient_name = '" . $p_name . "'");
if (mysql_num_rows($sql) == 0){
// patient database
mysql_query("INSERT INTO patient (patient_name)
VALUES ( '$p_name' )") or die (mysql_error());
}
else
die ("Patient name exist!");
使用
UNIQUE
…并使用mysqli
,因为mysql\uq()
将被弃用。您确定查询中没有错误吗?你没有检查mysql\u error
使用TRIM并检查案例你在mysql中尝试过这个查询吗?他很幸运,世界上每个人都有一个唯一的
名称:DuseUNIQUE
…并且使用mysqli
,因为mysql\u()
很快就会被弃用。你确定查询中没有错误吗?你没有检查mysql\u错误使用TRIM并检查案例你在mysql中尝试过这个查询吗?他很幸运,世界上每个人都有一个独特的名称:最初情况是这样的,mysql\u行($sql)>0
。它只是说数据库中已经有相同的记录。这就是我把==放在那里的原因。如果我错了,请纠正我。是的,这样行。不过这很有意思。。。没有任何东西表明其他脚本不能执行完全相同的操作,并且在执行此特定操作之前恰好完成了插入操作。最初情况是这样的,mysql\u num\u rows($sql)>0
。它只是说数据库中已经有相同的记录。这就是我把==放在那里的原因。如果我错了,请纠正我。是的,这样行。不过这很有意思。。。没有任何东西表明其他脚本不能执行完全相同的操作,并且在这个特定的运行之前恰好完成了插入。