0

我有一小段代码。

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 并直接在准备语句中插入值,则查询工作正常。我两次回显令牌的值以检查值是否已更改但 $token 相同并且值在那里。那么为什么这不起作用呢?

4

1 回答 1

0

如果您包含%标志,这可能对您有用

$sql  = 'SELECT UserID FROM USER WHERE Token LIKE ?';
$stmt = $conn->prepare($sql);
$stmt->execute(array("%$token%"));
#$result = $stmt->fetch();
于 2015-06-08T16:21:05.613 回答