我有一个表单,其中包含两个字段,名称属性分别为“photo_title”和“photographer_name”,以及一个名为“photo_id”的隐藏字段。当用户按下提交按钮时,我希望它更新数据库中的两个单独的表。我可以让它更新一个表,但是一旦我尝试离开第二个表,它就不喜欢它。
我认为我的查询字符串或绑定可能有问题。如何在 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>