这段代码在过去的四个小时里一直在绊倒我。它正在按主要ID删除一行照片。
我有var_dump($selectedPhoto)
,这是正确的ID,一个数字。我每次按删除照片时都会运行代码,进入mysqli_stmt_store_result
部分并拍摄$txtMessage
,但数据库不会更新。
这真的很奇怪,因为我使用了完全相同的代码,在另一个页面上使用了不同的变量,它完全正常。
你能看到这个错误吗?或者有更好的方法来编写delete语句。
if (isset($_POST['btnDeletePhoto']))
{
$selectedPhoto = $_SESSION['selectedPhoto'];
$deleteString = "DELETE FROM Photos WHERE PhotoID = ?";
$preparedDeleteStmt = mysqli_prepare($link, $deleteString);
mysqli_stmt_bind_param($preparedDeleteStmt, 'i', $selectedPhoto);
if (!mysqli_stmt_execute($preparedDeleteStmt))
{
mysqli_close($link);
die("The system is not available, try again later");
}
if(mysqli_stmt_store_result($preparedDeleteStmt))
{
$txtMessage = "Delete successfull";
}
要添加:$selectedPhoto
是选择,下拉列表值的值。
答案 0 :(得分:0)
如果照片来自选择的值,则它不会存储在会话变量中,因此您可能需要更改:
$selectedPhoto = $_SESSION['selectedPhoto'];
为:
$selectedPhoto = $_POST['selectedPhoto'];
除此之外,您还需要为所有数据库操作添加错误处理。