我有一個處理頁面上有兩個刀片。第一部作品毫無困難。第二個甚至不會啓動。我甚至嘗試過放入PDO查詢來查看它是否可以工作,但仍然沒有任何結果。PDO多執行力的問題
$cpinsert = $db->prepare('insert into Chatposts values (0, :chatid, :name, :url, :text, now(), :ipaddress, 0)');
$cpinsert -> bindParam(':chatid', $chatroomid, PDO::PARAM_INT);
$cpinsert -> bindParam(':name', $name, PDO::PARAM_STR);
$cpinsert -> bindParam(':url', $url, PDO::PARAM_STR);
$cpinsert -> bindParam(':text', $text, PDO::PARAM_STR);
$cpinsert -> bindParam(':ipaddress', $ipaddress, PDO::PARAM_STR);
$cpinsert -> execute();
// Needs an error checker
$cpid = $cpinsert ->lastInsertID();
$cpinsert->closeCursor();
^這工作正常,但我不知道lastinsertid,因爲我無法測試它。
\在那裏將執行不管我怎麼努力V /無。有些東西阻止任何執行或我沒有正確關閉上述連接。
// Targets Insert
//if (isset($target)):
$query = "insert into Targets values (9,'rommel')";
$db->query($query);
$targetinsert = $db->prepare('insert into Targets values (:cpid,:tname)');
foreach ($target as $tname):
$targetinsert -> bindParam(':cpid', $cpid, PDO::PARAM_INT);
$targetinsert -> bindParam(':tname', $tname, PDO::PARAM_STR);
endforeach;
$targetinsert -> execute();
//endif;
我已經嘗試了我所知道的一切,沒有運氣。由於我是PDO新手,所以很可能犯了一個小錯誤。當我添加它時,Closecursor似乎沒有做任何事情。
確保您的PDO配置爲[上錯誤拋出異常(http://us.php.net/manual/en/pdo.error-handling.php#example-978),所以你可以看到發生的事情錯誤。然後想想你在做什麼。你只是調用'execute'一次,所以*充其量*它將執行'INSERT INTO目標VALUES(..)'一次,將單行。 – DCoder 2013-03-16 08:12:18
是的。問題是這是在一個處理頁面上,試圖以很多方式將你踢出去,看到錯誤本身就是一個挑戰。我希望這將是一個簡單的編碼錯誤,可以直觀地看到。是的,我知道執行問題,我正在進行測試,看看它是否在第一次運行,但沒有運行。 – Rujikin 2013-03-16 08:20:58
所以問題是真的,你不知道如何調試你的代碼?安裝[xDebug](http://xdebug.org/index.php)並逐行瀏覽你的代碼。 – DCoder 2013-03-16 08:26:01