php
  • mysql
  • mysqli
  • 2013-06-19 113 views 0 likes 
    0

    我有一個問題,將其轉換爲mysqli從mysql,我試圖什麼PHP文檔說,但我仍然無法得到它。任何幫助,將不勝感激。我如何將其轉換爲mysqli

    return (mysql_result(mysql_query("SELECT COUNT(id) FROM users WHERE (username = '$username' OR email = '$username') AND password = '$password'"), 0) == 1) ? $user_id : false; 
    

    我嘗試這樣做:

    return (mysqli_data_seek(mysqli_query($con,"SELECT COUNT(id) FROM users WHERE (username = '$username' OR email = '$username') AND password = '$password'"), 0) == 1) ? $user_id : false; 
    

    整體功能:

    function login($username, $password){ 
    $con=mysqli_connect("127.0.0.1","root","","frostbase"); 
        $user_id = user_id_from_username($username); 
    
    
        $username = sanitize($username); 
        $password = md5($password); 
    
        return (mysqli_data_seek(mysqli_query($con,"SELECT COUNT(id) FROM users WHERE (username = '$username' OR email = '$username') AND password = '$password'"), 0) == 1) ? $user_id : false; 
        mysqli_close($con); 
    } 
    
    +0

    的形式,那你試試?結果是什麼? – 2013-06-19 07:47:30

    +3

    'mysqli_result(mysqli_query' –

    +0

    正確閱讀說明書 –

    回答

    0

    你可以做到這一點的方式更好實際。

    safeMysql是一個工具,可以幫助您將醜陋的舊的基於mysql的API代碼轉換爲新的醜陋的基於mysqli API的代碼,但使用方式更好的方法。

    的一點是,你不能在應用程序代碼中使用原始API調用,無論是mysqlmysqliPDO。但是將它們包裝在一個庫中,可以完成所有必需的操作,如數據綁定,抓取,錯誤處理,分析等等。

    坦率地說,你只寫你的查詢 - 其餘的是由LIB完成:

    $sql = "SELECT 1 FROM users WHERE (username = ?s OR email = ?s) AND password = ?s"; 
    return (bool)$db->getOne($sql, $username, $username, $password); 
    

    ,或者在功能

    function login($username, $password){ 
        global $con; // you have to connect ONCE per application 
        $sql = "SELECT 1 FROM users WHERE (username = ?s OR email = ?s) AND password = ?s"; 
        return (bool)$con->getOne($sql, $username, $username, $password); 
    } 
    
    +0

    我不斷收到此錯誤:致命錯誤:調用未定義的方法mysqli :: getOne()在C:\ Program Files文件(x86)\ xampp \ htdocs \ frostbase \ core \ functions \ users.php上第253行 – user2067005

    相關問題