为什么我从文件 mysqli/mysqli_driver.php 中收到错误消息?
why am i getting an error from file mysqli/mysqli_driver.php?
我刚刚将我的项目上传到我的网站服务器,当我点击我的登录表单提交按钮时收到此错误消息。
A PHP Error was encountered
Severity: Warning
Message: mysqli_real_escape_string() expects parameter 1 to be mysqli, boolean given
Filename: mysqli/mysqli_driver.php
Line Number: 315
我的本地服务器上绝对没有错误,我完全不知道问题出在哪里。如果有人可以提供帮助,我将不胜感激并给予尊重。
我的项目正在使用 codeigniters 框架。
mysqli_real_escape_string() is used to prepare text data too be save in an SQL Record Column.<br>And the data being wrint to that column does not exist.<br><br>
转到 mysqli_driver.php
到第 315 行并在命令前面放置一个 at 标记以抑制警告。
发件人:
mysqli_real_escape_string()
收件人:
@mysqli_real_escape_string()
如果您要转义的值是整数,则改用 intval():
这会将 NULL 变成 Zero
$var = intval($var);
不要用@隐藏警告,检查conn_id是否为假:
改变
$str = mysqli_real_escape_string($this->conn_id, $str);
那样
if($this->conn_id){
$str = mysqli_real_escape_string($this->conn_id, $str);
}
我的解决方案是在连接不可用时初始化连接。
更改第 315 行:
if ($this->conn_id === FALSE)
{
$this->initialize();
}
$str = mysqli_real_escape_string($this->conn_id, $str);
我也遇到了这个问题。
Wolfgang 的解决方案对我来说效果很好。
如果您使用 codeIgniter,请更改数据库配置
$db['default']['autoinit'] = TRUE;
也能解决问题
我刚刚将我的项目上传到我的网站服务器,当我点击我的登录表单提交按钮时收到此错误消息。
A PHP Error was encountered
Severity: Warning
Message: mysqli_real_escape_string() expects parameter 1 to be mysqli, boolean given
Filename: mysqli/mysqli_driver.php
Line Number: 315
我的本地服务器上绝对没有错误,我完全不知道问题出在哪里。如果有人可以提供帮助,我将不胜感激并给予尊重。
我的项目正在使用 codeigniters 框架。
mysqli_real_escape_string() is used to prepare text data too be save in an SQL Record Column.<br>And the data being wrint to that column does not exist.<br><br>
转到 mysqli_driver.php
到第 315 行并在命令前面放置一个 at 标记以抑制警告。
发件人:
mysqli_real_escape_string()
收件人:
@mysqli_real_escape_string()
如果您要转义的值是整数,则改用 intval():
这会将 NULL 变成 Zero
$var = intval($var);
不要用@隐藏警告,检查conn_id是否为假:
改变
$str = mysqli_real_escape_string($this->conn_id, $str);
那样
if($this->conn_id){
$str = mysqli_real_escape_string($this->conn_id, $str);
}
我的解决方案是在连接不可用时初始化连接。 更改第 315 行:
if ($this->conn_id === FALSE)
{
$this->initialize();
}
$str = mysqli_real_escape_string($this->conn_id, $str);
我也遇到了这个问题。 Wolfgang 的解决方案对我来说效果很好。
如果您使用 codeIgniter,请更改数据库配置
$db['default']['autoinit'] = TRUE;
也能解决问题