Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 避免数据库中的重复记录_Php_Html_Mysql - Fatal编程技术网

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中尝试过这个查询吗?他很幸运,世界上每个人都有一个
唯一的
名称:Duse
UNIQUE
…并且使用
mysqli
,因为
mysql\u()
很快就会被弃用。你确定查询中没有错误吗?你没有检查mysql\u错误使用TRIM并检查案例你在mysql中尝试过这个查询吗?他很幸运,世界上每个人都有一个独特的名称:最初情况是这样的,
mysql\u行($sql)>0
。它只是说数据库中已经有相同的记录。这就是我把==放在那里的原因。如果我错了,请纠正我。是的,这样行。不过这很有意思。。。没有任何东西表明其他脚本不能执行完全相同的操作,并且在执行此特定操作之前恰好完成了插入操作。最初情况是这样的,
mysql\u num\u rows($sql)>0
。它只是说数据库中已经有相同的记录。这就是我把==放在那里的原因。如果我错了,请纠正我。是的,这样行。不过这很有意思。。。没有任何东西表明其他脚本不能执行完全相同的操作,并且在这个特定的运行之前恰好完成了插入。