我發現一個很酷的AJAX教程有一個問題:它的MySQL查詢沒有更新到PDO。PDO語法錯誤
所以我試圖修復三個錯誤:mysql_insert_id(),mysql_num_rows(),mysql_fetch_array()。我在Google上搜索了所有這三個,但我顯然至少弄錯了一個。我無法確切地知道問題出在哪裏。
這是原來的代碼...
mysql_query("INSERT INTO users (id, user_name,score,category_id)VALUES ('NULL','$name',0,'$category')") or die(mysql_error());
$_SESSION['name']= $name;
$_SESSION['id'] = mysql_insert_id();
和...
$res = mysql_query("select * from questions where category_id='$category' ORDER BY RAND()") or die(mysql_error());
$rows = mysql_num_rows($res);
$i=1;
while($result=mysql_fetch_array($res)){?>
這是我的改造:
$stm = $pdo->prepare("INSERT INTO users (id, user_name,score,category_id)VALUES ('NULL','$name',0,'$category')");
$stm->execute(array(
));
$_SESSION['name']= $name;
$_SESSION['id'] = lastInsertId;
和...
$res = $pdo->prepare("select * from questions where category_id='$category' ORDER BY RAND()");
$res->execute(array(
));
$num_rows = $res->fetchColumn();
$i=1;
$row = $res->fetch(PDO::FETCH_ASSOC));{?>
任何人都可以看到我的錯誤嗎?
你應該添加你得到的確切的錯誤消息。 – T0xicCode
那麼你有一個隨機的'{'在最後。看起來你忘了添加一個「while」循環。 –
請查看'$ _SESSION ['id'] = lastInsertId;'應該看起來像'$ _SESSION ['id'] = $ pdo-> lastInsertId();'因爲'lastInsertId'是PDO的一種方法對象 –