【发布时间】:2016-08-07 03:13:33
【问题描述】:
我目前正在将我的网站从 MySQL 转换到 MySQLi,但遇到了问题。我一直在寻找几个小时,但我找到的结果都无法帮助我。在我的 connect.php 文件中,我有以下代码:
<?php
connect_db();
function connect_db() {
$connect_error = 'Sorry, we are experiencing connection issues.';
$mysqli = mysqli_connect('localhost', 'root', '', 'db') or die($connect_error);
}
function mysqli_result($res, $row, $field=0) {
$res->data_seek($row);
$datarow = $res->fetch_array();
return $datarow[$field];
}
?>
mysqli_result() 在 login.php 和 register.php 中被调用。
每当我尝试登录或注册时,都会收到以下错误:
致命错误:在第 10 行调用 C:\xampp\htdocs\core\database\connect.php 中未定义的方法 mysqli::data_seek()
第 10 行包含 $res->data_seek($row);
这是我的 php.ini 文件中的扩展名:
extension=php_bz2.dll
extension=php_curl.dll
extension=php_fileinfo.dll
extension=php_gd2.dll
extension=php_gettext.dll
;extension=php_gmp.dll
;extension=php_intl.dll
;extension=php_imap.dll
;extension=php_interbase.dll
;extension=php_ldap.dll
extension=php_mbstring.dll
extension=php_exif.dll
extension=php_mysql.dll
extension=php_mysqli.dll
;extension=php_oci8_12c.dll
;extension=php_openssl.dll
;extension=php_pdo_firebird.dll
extension=php_pdo_mysql.dll
;extension=php_pdo_oci.dll
;extension=php_pdo_odbc.dll
;extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll
;extension=php_pgsql.dll
;extension=php_shmop.dll
编辑:
这是使用 mysqli_result 的地方:
function user_count() {
$mysqli = connect_db();
$query = mysqli_query($mysqli, "SELECT COUNT(`user_id`) FROM `users` WHERE `active` = 1");
return mysqli_result($mysqli, $query, 0);
}
【问题讨论】:
-
你检查
$res是否是一个有效的Mysqli结果对象?你如何以及在哪里调用你的 mysqli_result() ? -
什么是
$res我猜它不是 MYSQLI_Statement 对象或 MYSQLI_Result 对象 告诉我们你是如何创建$res -
@Vincent 对不起,我可能应该记住这一点。我将编辑问题并在底部添加。
-
Erm... 你添加了一个返回到你的
connect_db()函数??我给的答案是什么!!现在它是一个不同的问题!!!!