我要将一些数据插入数据库。在插入数据库之前,它将使用mysqli_num_rows
检查记录是否存在。以下是我的代码部分
$agentSQL = 'SELECT * FROM members WHERE agent_no = "'.$agentNo.'" and id = "'.$agentMemberID.'"';
if (!$agentChk = mysqli_query($dbCon, $agentSQL)) {
echo "<script>alert('Error: %s\n', mysqli_error($dbCon));</script>";
exit();
}
$agentChkrow = mysqli_num_rows($agentChk);
if ($agentChkrow != 0) {
//insert data
} else {
//record exist
}
它有几种类型的代理,例如。美国代理商,Fr代理商,Kr代理商。所以它看起来像:
if($_POST['type'] == "USA agent"){
//above code
} else if ($_POST['type'] == "Fr agent"){
//above code
} else if ($_POST['type'] == "Kr agent"){
//above code
} else {
//blablabla
}
目前的问题是整个代码都在localhost上运行,只有Fr agent
的部分无法正常工作。当我从脚本中收到错误消息并且错误是
MySQL server has gone away
如果不使用Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in
or die(mysqli_error($dbCon)
错误
我已通过此错误消息搜索了一些解决方案。但它似乎与wait_timeout
,interactive_timeout
和max allowed packet
无关,因为只有部分代码无效,其余代码正常工作。我该如何解决这个问题?