簡體   English   中英

PHP的SQL選擇查詢失敗

[英]php SQL select query failing

我無法弄清楚為什么我的SQL選擇查詢總是失敗-我是SQL的新手,所以它可能是愚蠢的錯誤,但是我無法在文檔中找到答案。 提前謝謝

       // connect to db
    $mysqli = new mysqli("127.0.0.1", "maok08ab", "", "Portfolio");
    if ($mysqli->connect_errno) 
    {
        echo "Failed to connect to MySQL";
    }

    $username=$_POST["username"];
    $email=$_POST["email"];
    $hash=$_POST["password"];

    $query = "SELECT * FROM users WHERE username = '$username'";


    $result= mysqli_query($mysqli, $query);

    if ($result == FALSE)
    {
        apologize("something went wrong");
    }

由於您使用的是OOP連接,因此必須使用OOP執行查詢:

$query = "SELECT * FROM users WHERE username = '$username'";

$result = $mysqli->query($query);

它在手冊中非常清楚地指出:

鏈接過程樣式:mysqli_connect()或mysqli_init()返回的鏈接標識符

因此,您使用$result= mysqli_query($mysqli, $query); 不會像您想的那樣工作。 在代碼的整個生命周期中,請確保使用一種方法(OOP或過程)。


此外:

了解有關MySQLi的 准備好的語句。 即使轉義字符串也不安全! 不相信嗎?

切勿存儲純文本密碼! 請使用PHP的內置函數來處理密碼安全性。 如果您使用的PHP版本低於5.5,則可以使用password_hash() 兼容性包 在散列之前,請確保您不要轉義密碼或對密碼使用任何其他清除機制。 這樣做會更改密碼,並導致不必要的附加編碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM