2013-04-25 67 views
0
$result = $mysqli->query("SELECT * FROM news"); 
$news = $result->fetch_assoc(); 


$data = "test"; 
$query = "UPDATE news SET last_query = UNIX_TIMESTAMP(), news = ?"; 
$stmt = $mysqli->prepare($query); 
var_dump($mysqli->error); # empty 
var_dump($stmt->bind_param("s", $data)); # true 
var_dump($stmt->prepare($query)); # true 
var_dump($stmt->execute()); # false 
var_dump($stmt->error); # No data supplied for parameters in prepared statement 
$stmt->close(); 

除去第一查詢,使第二次從我讀這是滯留在結果集(即使它的閱讀形式的單行結果正常運作數據庫)。但即使使用$ result-> free()清除結果集。似乎沒有解決它。在準備好的聲明參數中未提供數據時,多次查詢

+0

這是一個有效的第二個查詢嗎?你的「新聞」表是否也有一個名爲「news」的專欄? – andrewsi 2013-04-25 17:00:48

+1

你'準備'查詢兩次(一次無效),但只執行一次。刪除第二個'準備',你應該沒問題。 – Jon 2013-04-25 17:01:20

+0

我對這個問題感到困惑。另外,'$ data'test''行應該讀取'$ data =「test」'。 – 2013-04-25 17:01:27

回答

0

$stmt->prepare用於讀取數據,不應在更新表格時使用。