MySQL Query不在PHP中返回行值

时间:2015-07-15 21:53:51

标签: php mysql

我不知道为什么这个查询不会返回值,因为当我复制" 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>

1 个答案:

答案 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;