我正在尝试使用 $_GET
查找用户的用户名,但实际上并未看到查询结果。代码如下:
<?php
$host = "localhost";
$username = "root";
$password = "toor"; // :)
$database = "db";
$link = mysql_connect($host, $username, $password);
if(!$link){
exit('Could not connect to database: '. mysql_error());
}
$email = mysql_real_escape_string(htmlspecialchars(stripslashes($_GET["e"])));
$query = "SELECT username FROM cc_card WHERE email = '$email'";
$result = mysql_query($query);
if(mysql_num_rows($result)){
$user = mysql_fetch_assoc($result);
echo $user['username'];
} else {
echo "Something's wrong";
}
它只是返回“出了点问题”。我希望它显示 cc_card
表的 username
字段,其中 email = email
。我做错了什么?
最佳答案
如果您从发布的代码中得到“出现问题”,则意味着 cc_card 表中的电子邮件列与您在查询中指定的电子邮件值不匹配。
您需要验证已清理的 $email
变量的内容(事实上)确实存在于表中的某个位置。尝试:
} else {
echo "Something's wrong";
var_dump($email);
}
查看已清理的 $email
变量的内容,并从 shell(或 phpmyadmin 或其他)手动查询数据库,以查找您指定的值是否存在。我敢打赌它不存在。
关于PHP 使用 GET 显示来自 MySQL 的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9028204/