mysqli_result无法将mysql转换为mysqli

时间:2015-01-15 08:20:29

标签: php mysqli

我正在将我的旧mysql转换为mysqli但遇到了这个问题mysqli结果不起作用。在互联网上查找并且我发现它的功能已经改变了,因为mysqli结果在这里有一个等价物吗?

感谢

这是我的错误

Fatal error: Call to undefined function mysqli_result() in C:\xampp\htdocs\bear_mysqli\functions\users.php on line 153 
    function user_exists($con,$username)
    {
    $username = sanitize($con,$username);

    $query = mysqli_query($con,"SELECT COUNT(`user_id`)FROM `users` WHERE `username` = '$username'");

    return (mysqli_result ($query, 0)== 1) ? true : false;

    }

3 个答案:

答案 0 :(得分:1)

不,没有mysql_resultmysqli_result反对。如果您只是检查它是否存在,请仅使用->num_rows

而是使用预备语句。

function user_exists($con, $username) {

    $sql = 'SELECT * FROM `users` WHERE `username` = ?';
    $select = $con->prepare($sql);
    $select->bind_param('s', $username);
    $select->execute();
    $select->store_result();

    return ($select->num_rows > 0); // returns bool (true/false)
}

或者为COUNT()使用别名并获取它:

function user_exists($con, $username) {

    $sql = 'SELECT COUNT(`user_id`) AS `total` FROM `users` WHERE `username` = ?';
    $select = $con->prepare($sql);
    $select->bind_param('s', $username);
    $select->execute();
    $select->store_result();
    $select->bind_result($total);
    $select->fetch();

    return $total; // returns the result yielded by alias `total`
}

答案 1 :(得分:0)

在php.ini中启用mysqli

搜索extension=php_mysqli.dll并在php.ini取消注释,只需在;之前移除extension=php_mysqli.dll

; Windows Extensions
; Note that ODBC support is built in, so no dll is needed for it.
; Note that many DLL files are located in the extensions/ (PHP 4) ext/ (PHP 5)
; extension folders as well as the separate PECL DLL download (PHP 5).
; Be sure to appropriately set the extension_dir directive.

extension=php_mysqli.dll

并在应用设置后重新启动xampp。

答案 2 :(得分:0)

如果您要检查用户名是否存在,可以执行以下操作:

$urexist="SELECT * FROM persons WHERE Email = '$_POST[EMailTxt]'";
$res = mysqli_query($conect,$urexist);//you should add a connection paramenter 
$data = mysqli_fetch_array($res, MYSQLI_NUM);
if($data[0] > 1) {
echo "User Exists";
}