我遇到MySQLi问题。我习惯了旧的mysql_query,所以我确信这是一个令人难以置信的愚蠢问题。 我无法根据他们输入的电子邮件从数据库中返回ID。
以下是查询代码:
$userid = $mysqli->query("SELECT id FROM client WHERE email = $email");
回应$ userid不会返回任何内容。
我是MySQLi的新手,所以这可能非常简单。
感谢。
答案 0 :(得分:3)
返回值
失败时返回FALSE。对于成功的SELECT,SHOW,DESCRIBE或EXPLAIN查询,mysqli_query()将返回一个mysqli_result对象。对于其他成功的查询,mysqli_query()将返回TRUE。
因此结果应该是TRUE
,FALSE
或mysqli_result object,而不是您期望的查询的实际结果。
你需要做这样的事情:
$result = $mysqli->query("SELECT id FROM client WHERE email = $email");
if($result === FALSE) {
die("Uh oh something went wrong");
}
然后使用类似mysqli_result::fetch_array()
的内容。
答案 1 :(得分:1)
$query = $mysqli->query("SELECT id FROM client WHERE email = '$email'");
$row = $query->fetch_array();
print_r($row);