mysqli bind_param没有返回正确的数据,但查询是正确的

时间:2015-06-08 16:02:11

标签: php mysql mysqli sqlbindparameter bindparam

我有一小段代码。

echo $token;

$selstmt=$conn->Prepare("SELECT UserID FROM USER WHERE Token LIKE ?");
$selstmt->bind_param('s', $token);
echo $token;
$selstmt->execute();
$selstmt->store_result();
$selstmt->bind_result($userid);
$selstmt->fetch();
echo $userid;
$selstmt->close();

如果我删除bind_param并直接在prepare语句中插入值,则查询工作正常。我回显令牌的值两次以检查值是否已更改但$ token是否相同且值是否存在。那为什么这不起作用?

1 个答案:

答案 0 :(得分:0)

如果您包含%标志

,这可能对您有用
$sql  = 'SELECT UserID FROM USER WHERE Token LIKE ?';
$stmt = $conn->prepare($sql);
$stmt->execute(array("%$token%"));
#$result = $stmt->fetch();