我不知道为什么这个查询不会返回值,因为当我复制" echoed"部分到phpmyadmin我得到一个记录返回:
echo $_GET["cname"];
// Query template
$sql = 'SELECT C.cid FROM `Contact` C WHERE C.email="'.$_GET["cname"].'"';
echo $sql;
// Prepare statement
$stmt = $conn->prepare($sql);
$stmt->execute();
$stmt->bind_result( $res_cid);
echo $res_cid;
$res_cid
显然为0,但我不知道为什么,因为当我将该查询手动粘贴到phpmyadmin时,我确实得到了一个值...那么为什么它没有返回任何内容?< / p>
答案 0 :(得分:1)
正如评论中已经提到的那样 - 您应该确保您的代码是安全的。你最好使用bindparam。
关于您的问题 - 执行查询后bind_result,您还应该fetch根据您的查询从数据库中获取实际值:
// Prepare statement
$stmt = $conn->prepare($sql);
$stmt->execute();
$stmt->bind_result( $res_cid);
// Fetch to get the actual result
$stmt->fetch();
echo $res_cid;