我有一个以下代码,它应该得到一个带有标识符(name)的行:
<?php
include "constants.php";
$namee=$_POST['name'];
$passw=$_POST['password'];
echo $namee."<br>";
echo $passw."<br>";
$databaseconnection=mysqli_connect("",dbuser,userpassword,"db");
$res=mysqli_query($databaseconnection,"SELECT Identifier,Password FROM accounts WHERE Identifier=$namee");
while($row=mysqli_fetch_array($res))
{
print_r($row);
}
?>
我得到的错误是&#34;警告:mysqli_fetch_array()要求参数1为mysqli_result,第15行和第34行的C:\ Xampp \ htdocs \ tests \ loginlogic.php中给出布尔值;这意味着没有这样的记录。我认为"SELECT Identifier,Password FROM accounts WHERE Identifier=$namee"
是错误的。以什么方式?
答案 0 :(得分:2)
您需要$namee
附近的引号
WHERE Identifier = '$namee'
但您确实需要首先转义用户输入或使用准备语句,以防止SQL注入。
答案 1 :(得分:-1)
如果替换
怎么办?$databaseconnection=mysqli_connect("",dbuser,userpassword,"db");
带
$databaseconnection=mysqli_connect("YOUR HOST NAME",dbuser,userpassword,"db");