[英]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.