我无法弄清楚为什么我的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");
}
Run Code Online (Sandbox Code Playgroud)
由于您正在使用OOP连接,因此必须使用OOP来执行查询:
$query = "SELECT * FROM users WHERE username = '$username'";
$result = $mysqli->query($query);
Run Code Online (Sandbox Code Playgroud)
它在手册中非常清楚地说明:
仅链接过程样式:mysqli_connect()或mysqli_init()返回的链接标识符
所以你的使用$result= mysqli_query($mysqli, $query);不会像你想象的那样奏效.确保在代码的整个生命周期中坚持使用一种方法(OOP或程序).
此外:
了解MySQLi的预准备语句.即使逃避字符串也不安全!不相信吗?
永远不要存储纯文本密码!请使用PHP的内置函数来处理密码安全性.如果您使用的PHP版本低于5.5,则可以使用password_hash() 兼容包.在散列之前,请确保不要转义密码或使用任何其他清理机制.这样做会更改密码并导致不必要的额外编码.
| 归档时间: |
|
| 查看次数: |
259 次 |
| 最近记录: |