首页 文章

如何将mysql更改为mysqli [重复]

提问于
浏览
-2

这个问题在这里已有答案:

谁能帮助我从mysql改为mysqli?我是新手 . 这里是错误:致命错误:未捕获错误:调用未定义函数mysql_query()

我的代码在这里:

<?php

//require_once('../includes/config.php');包括( 'class.password.php');

class用户扩展密码{

private $db=0;

function __construct($db){
    parent::__construct();

    $this->_db = $db;
}

public function is_logged_in(){
    if(isset($_SESSION['loggedin']) && $_SESSION['loggedin'] == true){
        return true;
    }
}

private function get_user_hash($username){  

    try {
    $dbd = mysqli_connect('localhost','xxxx','xxxx');
    mysqli_select_db('xxxx',$dbd);
    $r = mysql_query("SELECT password,username,role FROM user WHERE username='".$username."' LIMIT 1",$db);
        return $r;$row['password'];

    } catch(PDOException $e) {
        echo '<p class="error">'.$e->getMessage().'</p>';
    }
}

公共函数登录($ username,$ password){$ q = mysql_query(“SELECT * FROM user WHERE username ='” . $ username . “'AND password ='” . md5($ password) . “'”,$ this - > _分贝); $ NUM = mysql_num_rows($ Q); if($ num> 0){$ row = mysql_fetch_array($ q,MYSQL_ASSOC); if($ row ['role'] ==“admin”){$ _SESSION ['role'] =“admin”; $ _SESSION [ '用户名'] = $行[ '用户名']; $ _SESSION [ 'bank_account_number'] = $行[ 'bank_account_number']; $ _SESSION [ 'PHONE_NUMBER'] = $行[ 'PHONE_NUMBER']; $ _SESSION [ '的loggedIn'] = TRUE; } else {$ _SESSION ['role'] ='非管理员'; $ _SESSION [ '用户名'] = $行[ '用户名']; $ _SESSION [ 'bank_account_number'] = $行[ 'bank_account_number']; $ _SESSION [ 'PHONE_NUMBER'] = $行[ 'PHONE_NUMBER']; $ _SESSION [ '的loggedIn'] = TRUE; } return true; } else {return false; }}

public function logout(){
    session_destroy();
}

}

?>

1 回答

  • 2

    你混合所有3个apis,看起来你包括mysqli而不是其他2,这就是为什么它告诉你mysql_query是未定义的 . 应该是mysqli_query . 当我认为mysqli甚至没有抛出异常时你也在使用pdo异常,但它确实有mysqli_report()用于错误检查 . 阅读文档 .

相关问题