2015-06-08 206 views
0

我有這段小小的代碼。mysqli bind_param沒有返回正確的數據,但查詢正確

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和直接插入在準備語句中的值,查詢工作正常。我回應令牌的值兩次,以檢查值是否已更改,但$令牌相同且值在那裏。那麼,爲什麼這不起作用?

回答

0

這可能會爲你工作,如果包括%跡象

$sql = 'SELECT UserID FROM USER WHERE Token LIKE ?'; 
$stmt = $conn->prepare($sql); 
$stmt->execute(array("%$token%")); 
#$result = $stmt->fetch();