MySQLI致命错误生产但不是开发

时间:2017-05-12 09:14:14

标签: php mysql mysqli

我有这段代码:

$mysqli = new mysqli('localhost','username','password','database');

$insert = "INSERT INTO submissions ( client_name, client_company ) VALUES ('$client_name', '$client_company' )";

if ( $mysqli->query($insert) === TRUE ) {
  echo "success";
} else {
  echo "Error: " . $mysqli . "<br>" . $mysqli->error;
}

在我的开发环境中,它运行完美,将变量插入到正确的表列中。

但是在制作中我遇到了这个错误:

  

捕获致命错误:无法转换类mysqli的对象   串行于&#39;路径&#39;在第x行

我知道:

  • 我的mysqli连接没有错误,因为我的应用程序的其余部分使用凭据等,可以在dev / live中从我的数据库中检索数据
  • 这段代码运行正常,插入正确,在我的开发环境中没有错误。

我已经找到了错误消息的解决方案 - 并尝试了一些,但我仍然不相信这是问题的真正原因。

1 个答案:

答案 0 :(得分:0)

PHP尝试将$ mysqli强制转换为字符串:

echo "Error: " . $mysqli . "<br>" . $mysqli->error;

你应该这样做

echo "Error: with mysqli <br>" . $mysqli->error;

如果您想了解更多细节,或者mysqli-&gt;错误应该足够

,或者可能是var vump