0
我有一個名稱屬性爲'photo_title'和'photographer_name'的兩個字段以及一個名爲'photo_id'的隱藏字段。當用戶按下提交按鈕時,我希望它更新數據庫中的兩個單獨的表。我可以讓它更新單個表格,但只要我嘗試離開第二個表格,它就不喜歡它。如何使用mySQLi準備語句更新多個表?
我認爲我的查詢字符串或綁定可能有問題。我怎樣才能更新我的Mysql數據庫中兩個單獨的表中的兩個單獨的值,同時仍然使用預準備語句?
這裏的PHP:
if (array_key_exists('update', $_POST)) {
$sql = 'UPDATE photos SET photos.photo_title = ?, photographers.photographer_name = ?
LEFT JOIN photographers ON photos.photographer_id = photographers.photographer_id
WHERE photo_id = ?';
$stmt = $conn->stmt_init();
if ($stmt->prepare($sql)) {
$stmt->bind_param('ssi', $_POST['photo_title'], $_POST['photographer_name'], $_POST['photo_id']);
$done = $stmt->execute();
}
}
這裏的形式:
<form id="form1" name="form1" method="post" action="">
<input name="photo_title" type="text" value=""/>
<textarea name="photographer_name"></textarea>
<input type="submit" name="update" value="Update entry" />
<input name="photo_id" type="hidden" value="<?php echo $photo_id ?>"/>
</form>
我想出了我的錯誤。我有錯誤的順序SQL命令。查詢字符串應該已經閱讀 $ SQL =「更新照片 \t \t \t \t LEFT JOIN攝影師 \t \t \t \t ON photos.photographer_id = photographers.photographer_id \t \t \t \t SET photos.photo_title =?,photographers.photographer_name =? \t \t \t \t WHERE photos.photo_id =?'; – zeckdude 2009-06-13 04:14:11