php - 当点击删除按钮时,需要从表格中删除图像,而不是显示错误消息

标签 php mysql sql prepared-statement

我有一个画廊,我希望用户可以在其中更新图像标题并根据需要删除图像。我的更新标题代码按预期工作,我认为删除代码不会有太大差异。

<?php
    $query = "SELECT * FROM `tblImage`";

    $result = $conn -> query($query);

    while($row = $result -> fetch_assoc())
    {
?>

<form method="post" action="">
    <a href="<?php echo $row['fldFilePath']; ?>" data-lightbox="gallery" data-title="<?php echo $row['fldName']; ?>"><img src="<?php echo $row['fldFilePath']; ?>" class="ImgRound"></a>
    <label>Image Name: <?php echo $row['fldName']; ?></label>
    <input name ="img-title" type ="text" placeholder="Enter New Image Title...">
    <button type="submit" value ="<?php echo $row['fldName'] ?>" name="update_title" class="ImgRound size-btn">Update</button>
    <button type="submit" value ="<?php echo $row['fldName'] ?>" name="delete" class="ImgRound size-btn">Delete</button>
</form>
<?php
    if(isset($_POST['update_title']))
        {
                $imgTitle = $_POST['img-title'];

    $stmt = $conn->prepare("UPDATE `tblImage` SET `fldName` = ? WHERE `fldName` = ?");
    $stmt->bind_param("ss", $imgTitle, $_POST['update_title']) or die($stmt->error);
        if ($stmt->execute())
            {
                header("Refresh:0");
            }   
        else {

                die($stmt->error);
             }

         }
    }
?>

只要我在最后一次关闭之前添加以下代码 } :

if(isset($_POST['delete']))
    {
        $imgTitle = $_POST['img-title'];
        $stmt = $conn->prepare("DELETE FROM `tblImage` WHERE `tblImage`.`fldName` = ?"); 
        $stmt->bind_param("ss", $imgTitle, $_POST['delete']) or die($stmt->error);
        if ($stmt->execute())
            {
                header("Refresh:0");
            }   
        else {
                die($stmt->error);
            }
    }

出现的错误是:Warning: mysqli_stmt::bind_param(): Number of variables does match number of parameters in prepared statement

对我做错了什么有什么指导吗?也许是查询,或者我是否应该将值放在文件路径的删除按钮中,与图像名称 - fldName 相对应?

如有任何帮助,我们将不胜感激。

最佳答案

似乎您只有一个参数 ? 但是您有 "ss",删除其中一个并重新运行查询。

关于php - 当点击删除按钮时,需要从表格中删除图像,而不是显示错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55342988/

相关文章:

PHP,获取 $_GET 以忽略来自 url 的数字

mysql - 执行流程-MySQL

java - 准备好的声明的好处

php - 按查询排序花费太多时间

c# - 换日更新问题

javascript - 在一个容器中我有文本和 img 标签,我怎样才能只用 js 或 jquery 获取文本

PHP 没有从 MySQL 查询返回正确的信息

php - 在 .HTML 文档中使用 PHP 标签来链接 PHP 文件

php - "multiplying"MySql 记录有什么方法可以测试服务器上的大型数据库吗?

php - 从两个不同的表中获取数据并将其插入到一个表中