Php 显示数据库中已存在数据的文本
我正在努力学习php。我决定做一个简单的系统作为练习。我可以将数据添加到我的数据库中。现在,如果数据库中已经存在项目id,我想阻止用户添加数据。我也能做到这一点。我的问题是文本总是显示交易是“成功的”,尽管它不是。如有任何回复,将不胜感激。如有任何回复,将不胜感激。这是我的密码:Php 显示数据库中已存在数据的文本,php,Php,我正在努力学习php。我决定做一个简单的系统作为练习。我可以将数据添加到我的数据库中。现在,如果数据库中已经存在项目id,我想阻止用户添加数据。我也能做到这一点。我的问题是文本总是显示交易是“成功的”,尽管它不是。如有任何回复,将不胜感激。如有任何回复,将不胜感激。这是我的密码: $query = "select * from setup_project where spin='$sspin' order by title"; $numresults=mysql_query($query)
$query = "select * from setup_project where spin='$sspin' order by title";
$numresults=mysql_query($query);
$numrows=mysql_num_rows($numresults);
if ($numrows == 0)
$query = mysql_query("insert into setup_project value ('$sspin','$stitle','$sfirm_id','$sequip','$sdateapp','$samnt','$srem');");
else{
echo "SPIN already Exists!";
}
$message = "Successfully Added Project to Database!";
?>
<br><br><br><br><br><br>
<center><font size="6"><? echo "$message" ?></font></center>
这更容易:
$query = mysql_query("insert into setup_project value ('$sspin','$stitle','$sfirm_id','$sequip','$sdateapp','$samnt','$srem');");
if (mysql_errno==0){
$message = "Successfully Added Project to Database!";
}
elseif (mysql_errno==1062){
echo "SPIN already Exists!";
}
很多时候,我想插入,如果插入失败,我会在插入之后进行更新
然后用$impacted=mysql\u impacted\u行检查更新
if (mysql_errno==0){
$message = "Successfully Added Project to Database!";
}
elseif (mysql_errno==1062){
UPDATE setup_project SET (...) VALUES(...) WHERE ????
$affected = mysql_affected_rows();
if ($affected == 0){
echo "Record was updated";
}
else{
echo 'Record Exists, No Updates';
}
}
else{
echo mysql_error();
}
在if…else块之外,$message变量被设置为“Successful…”,因此无论if条件如何,它都将被设置。此外,请注意SQL注入,当前代码易受攻击。看看这里:有关mysqli和PDO的安全示例。