我試圖用這種形式來更新我的數據庫條目:PHP更新 - 沒有錯誤
<form method="post" action="inc/update.php">
<?php foreach ($links as $row) {
?>
<div class="btn_admin">
<p>
<label>Titulo</label>
<input type="text" name="title[]" value="<?php echo $row["desc"] ?>">
</p>
<p>
<label>Url</label>
<input type="text" name="url[]" value="<?php echo $row["url"] ?>">
<input type="hidden" name="id[]" value="<?php echo $row["id"] ?>" />
</p>
</div>
<?php }
?>
<input type="submit" name="submit" value="Update Links" />
</form>
在我update.php文件:
if ($_SERVER["REQUEST_METHOD"] == "POST"
&& $_POST["submit"] == "Update Links") {
include_once 'db.php';
$db = new PDO(DB_INFO, DB_USER, DB_PASS);
foreach($_POST['id'] as $id) {
$title=$_POST["title"][$id-1];
$url=$_POST["url"][$id-1];
$sql = "UPATE index_links
SET desc=?, url=?
WHERE id=?";
$stmt = $db->prepare($sql);
$stmt->execute(array($title, $url, $id-1));
$stmt->closeCursor();
}
}
我已經遍歷$ title和$ url,並且所有內容都正確地被「抓取」,但是查詢以某種方式失敗並且沒有錯誤。
我甚至試圖用錯誤的查詢語法(如在上面的例子中查詢 - 「UPATE」)搞亂,沒有任何錯誤...是的,foreach循環正在被訪問。
這似乎是這樣的介紹水平的東西,但我看了這個一個小時左右沒有和mind = blown ...我的項目上有其他查詢(而不是更新的),它們工作正常。
我們可以假設'UPATE'是一個錯字,而您在真正的查詢中使用'UPDATE'嗎? – dnagirl
你採用了你生成的SQL並試圖直接對數據庫運行它嗎?此外,可能是一個錯誤產生的地方,你只是沒有看到它。 – ficuscr
@ficuscr:因爲它是一個準備好的查詢,你不能真正看到的東西是什麼樣子,一旦值在塗膠 – dnagirl