$insert = "INSERT INTO jos_activeagents (RINGPHONE, AGENTUID, FNAME, LNAME) VALUES ('(618) 717-2054','".$result['AGTBRDIDMM']."','".$result['AGTFNAME']."','".$result['AGTLNAME']."')";
$set = MysqLi_query($link,$insert);
AGENTUID是一个独特的钥匙.如果用户尝试使用重复的唯一键提交,我会收到错误(当然).
现在,我将如何知道是否以及何时发生错误然后将响应放回页面?我知道MysqLi_get_warnings(),但PHP手册没有显示任何示例.
我还尝试先在表格中查找AGENTUID:
$check = "SELECT * FROM jos_activeagents WHERE AGENTUID = '".$agt."'";
$runcheck = MysqLi_query($link,$check);
$rescheck = MysqLi_fetch_assoc($runcheck);
if($rescheck != null){
echo 'This Agent ID is already enrolled.'
}
但这似乎很草率.这有更好的方法吗?
解决方法:
您可以使用mysqli_error()
查看是否发生了错误
if (MysqLi_error($runcheck ))
{
// an error eoccurred
}
在您的特定示例中,您最好在执行插入之前检查行是否存在.你的例子很接近,但最好使用mysqli_num_rows()
:
$check = "SELECT * FROM jos_activeagents WHERE AGENTUID = '".$agt."'";
$runcheck = MysqLi_query($link,$check);
if (MysqLi_num_rows($runcheck) > 0)
{
// username in use
}