【问题标题】:mysqli_connect() causes fatal error - PHPmysqli_connect() 导致致命错误 - PHP
【发布时间】:2017-07-14 09:16:29
【问题描述】:

我在脚本中有以下几行代码;

include '../details.php';
$conn = false;
//$conn = mysqli_connect($servername, $username, $serverpassword, $dbname);
if(!$conn){
    echo "no connection";
    //header("location: //www.mattwoolford.co.uk/contact/?err=003");
}

注释掉和$conn = false; 用于调试,echo 语句也是如此。这是交易:

当我取消注释 $conn = mysqli_connect() 时,页面因错误而变为空白。尝试or die() 无济于事。测试了从 details.php 中回显凭据,它们正确且成功地展示了自己。

发生了什么,为什么?

更新:

错误显示在以下行:

$service = mysqli_real_escape_string($conn, $service);

“可捕获的致命错误:无法将类 mysqli 的对象转换为第 81 行 (“path”) 中的字符串”

更新 2:已修复

EOT; 已缩进,因此它试图分别转换所有函数,就好像它包含在 <<<EOT EOT; 中一样

【问题讨论】:

  • 检查您的错误日志或启用在屏幕上显示错误(如果是公开的,请不要这样做)。
  • 好像没有错误。
  • @naththedeveloper 感谢您的回复,致命错误是:“可捕获的致命错误:无法将 mysqli 类的对象转换为 /var/www/mattwoolford.co.uk/public_html/booking 中的字符串/process-booking.php 第 81 行"。这是 mysqli_real_escape_string() 行。但这似乎也没有什么问题? - $service = mysqli_real_escape_string($conn, $service);
  • 发布导致错误的代码
  • 你的代码后面有什么?那个 sn-p 不会产生那个错误

标签: php mysql mysqli database-connection


【解决方案1】:

可能会发生多种情况:

  1. 确认文件路径,可能获取不到实际文件路径。
  2. 尝试用mysql连接设置连接,可能服务器支持较早的mysql版本。
  3. 最后,检查数据库名称、用户名、密码和主机 url。

所以只有这三种可能,试试吧。

它应该修复。

谢谢

【讨论】:

  • 这样做了,一切正常。编辑问题以显示脚本失败的位置。我在这台服务器上托管了两个站点,它们都应该支持 mysqli。 ://
猜你喜欢
  • 2013-08-27
  • 2012-01-24
  • 2013-11-12
  • 1970-01-01
  • 1970-01-01
  • 2017-01-25
  • 2019-09-24
相关资源
最近更新 更多