mysqli->查询不返回任何内容

时间:2012-10-23 22:30:29

标签: php mysql mysqli

我遇到MySQLi问题。我习惯了旧的mysql_query,所以我确信这是一个令人难以置信的愚蠢问题。 我无法根据他们输入的电子邮件从数据库中返回ID。

以下是查询代码:

$userid = $mysqli->query("SELECT id FROM client WHERE email = $email");

回应$ userid不会返回任何内容。

我是MySQLi的新手,所以这可能非常简单。

感谢。

2 个答案:

答案 0 :(得分:3)

mysqli::query

  

返回值

     

失败时返回FALSE。对于成功的SELECT,SHOW,DESCRIBE或EXPLAIN查询,mysqli_query()将返回一个mysqli_result对象。对于其他成功的查询,mysqli_query()将返回TRUE。

因此结果应该是TRUEFALSEmysqli_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);