在生产环境中使用 mysqli_connect() 从 Mysql 中选择行
Issue Selecting Row from Mysql with mysqli_connect() on production
我正在重构一个现有应用程序,该应用程序使用旧方法连接 mysql 数据库并与其交互,例如 mysql_connect(
) 和 mysql_fetch_array
,其代码如下:
更新
我在页面上获得的唯一输出是下面的内容,它们是空数组。
Array ( [initial] => Array ( ) [additional] => Array ( ) )
最终更新 这是根用户无法访问 % 的问题。我收到类似这样的错误:The user specified as a definer ('root'@'%') does not exist
输出这是由 运行 命令修复的:
grant all on *.* to 'root'@'%' identified by 'password' with grant option;
转换的原因是使用 mysql_connect()
的原始编码使用(不是我)在关闭远程连接时(据我所知)对 mysql 不起作用(我这样做)。
为什么我的新代码没有输出任何东西?上面的 原始代码 在开发环境中有效。远程连接已关闭,但未在生产中。
谢谢。
您的 class 末尾缺少右括号 }
。
你没有select数据库
为什么到处创建$this->dbConn
,你在构造函数中定义了它。
你的$this->dbConn->query
在哪里定义的? $this->dbConn
是连接资源。
注意
添加 error_reporting(E_ALL);
和 ini_set('display_errors', 1);
以发现错误。
我正在重构一个现有应用程序,该应用程序使用旧方法连接 mysql 数据库并与其交互,例如 mysql_connect(
) 和 mysql_fetch_array
,其代码如下:
更新 我在页面上获得的唯一输出是下面的内容,它们是空数组。
Array ( [initial] => Array ( ) [additional] => Array ( ) )
最终更新 这是根用户无法访问 % 的问题。我收到类似这样的错误:The user specified as a definer ('root'@'%') does not exist
输出这是由 运行 命令修复的:
grant all on *.* to 'root'@'%' identified by 'password' with grant option;
转换的原因是使用 mysql_connect()
的原始编码使用(不是我)在关闭远程连接时(据我所知)对 mysql 不起作用(我这样做)。
为什么我的新代码没有输出任何东西?上面的 原始代码 在开发环境中有效。远程连接已关闭,但未在生产中。
谢谢。
您的 class 末尾缺少右括号
}
。你没有select数据库
为什么到处创建
$this->dbConn
,你在构造函数中定义了它。你的
$this->dbConn->query
在哪里定义的?$this->dbConn
是连接资源。
注意
添加 error_reporting(E_ALL);
和 ini_set('display_errors', 1);
以发现错误。