我试图回应网址中定义的特定用户的某些细节(例如: search_result.php?lastname = Doe& date_of_birth = 1964-04-12 )
$lname = mysqli_real_escape_string($_GET['lastname']);
$dob = mysqli_real_escape_string($_GET['date_of_birth']);
$result= mysql_query("SELECT * FROM qfever WHERE lastname = '$lname' AND date_of_birth = '$dob'");
while($row = mysql_fetch_array($result)) {
$firstname = $row['firstname'];
$lastname = $row['lastname'];
$date_of_birth = $row['date_of_birth'];
$employee_number = $row['employee_number'];
}
echo $firstname;
echo $lastname;
echo $date_of_birth;
echo $employee_number;
我可以回应它从网址中获取的内容,但它不会从数据库中回显用户的详细信息。 问题可能是日期的格式吗? 我的 date_of_birth 列目前设置为 TEXT ,但HTML输入类型设置为 DATE 。
答案 0 :(得分:1)
您的代码中存在多个错误:
$_GET
全球范围内收到了错误的字段,也提出了错误的请求。$res[X]
映射到$X
。重点是什么?$firstname
,因此只获取最后一个。答案 1 :(得分:1)
更改您的查询
SELECT * FROM qfever WHERE lastname = '$lname' AND date_of_birth = '$dob'
答案 2 :(得分:0)
正如@Jeremiah Winsley在评论中所建议的那样:
首先,你要混合使用mysqli和mysql。其次,在任何一种变体中,_real_escape_string都有错误的语法。
操作问题在于他们在mysqli_
和mysql_
之间感到困惑。他们对这个问题的编辑证实了这一点:
已解决,我混合了mysqli_和mysql_ **