相同的代码适用于localhost,但在服务器上不起作用

时间:2015-02-26 09:16:13

标签: php mysql

我要将一些数据插入数据库。在插入数据库之前,它将使用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_timeoutinteractive_timeoutmax allowed packet无关,因为只有部分代码无效,其余代码正常工作。我该如何解决这个问题?

0 个答案:

没有答案