Mysql 为更新查询准备的语句不工作

Mysql 为更新查询准备的语句不工作,mysql,sql,sql-update,Mysql,Sql,Sql Update,我的更新查询未执行。我已经检查了dog表中的所有字段标题,它们与我在查询中输入的字段标题匹配 在我添加dogImage字段之前,它工作得很好。然而,我希望用户能够更新狗的形象以及。doImageUpload.php文件对使用fle输入类型上传的图像进行检查,然后将其添加到uploads文件夹 请帮忙。顺便说一句,这是我的第一篇堆栈溢出文章,所以请原谅任何错误或缺乏解释我的代码的能力 <?php session_start(); if(!isset($_SESSION['s

我的更新查询未执行。我已经检查了dog表中的所有字段标题,它们与我在查询中输入的字段标题匹配

在我添加dogImage字段之前,它工作得很好。然而,我希望用户能够更新狗的形象以及。doImageUpload.php文件对使用fle输入类型上传的图像进行检查,然后将其添加到uploads文件夹

请帮忙。顺便说一句,这是我的第一篇堆栈溢出文章,所以请原谅任何错误或缺乏解释我的代码的能力

<?php

    session_start();
    if(!isset($_SESSION['staffID'])){
        Header("Location:../../html/vetLoginForm.html");
        die();
    }

    $id         = $_POST['id'];
    $newName    = $_POST['newName'];
    $newBreed   = $_POST['newBreed'];
    $newGender  = $_POST['newGender'];
    $newDC      = $_POST['newDC'];
    $newHeight  = $_POST['newHeight'];
    $newWeight  = $_POST['newWeight'];
    $newGenDesc = $_POST['newGenDesc'];
    $newDF      = $_POST['newDF'];
    $newStatus  = $_POST['newStatus'];

    //connect to db
    require('../../services/connection.php');

    //file that uploads image to folder in the directory
    include("dogImgUpload.php");

    //run update query
    if($updateDog = mysqli_prepare($con, "UPDATE dog SET 
                                     name =?,
                                     breed =?,
                                     gender =?,
                                     dominantColour =?,
                                     height =?,
                                     weight =?,
                                     generalDescription =?,
                                     dateFound =?,
                                     dogImage =?,
                                     status =?,
                                     WHERE dogID =?")){
        mysqli_stmt_bind_param($updateDog,"ssssddssssi", $newName, $newBreed, $newGender, $newDC, $newHeight, $newWeight, $newGenDesc, $newDF, $imgFileName, $newStatus, $id);
        mysqli_stmt_execute($updateDog);
        mysqli_stmt_close($updateDog);


        include("updateSuccessful.php");
        mysqli_error($con);
    }else{
        echo "Error updating record" . mysqli_error($con);
    }


    ?>

集合列末尾有一个额外的逗号(将其删除)


我将要插入状态列的值的数据类型作为字符串。但是,我的数据库中的状态列包含int数据类型。

添加代码更新您的问题我已将代码粘贴在我的问题下,但它没有显示。为什么?感谢Alex K。打印的错误是“您的SQL语法有错误;请查看与您的MariaDB服务器版本对应的手册,以了解第12行“WHERE dogID=?”附近要使用的正确语法”
status=?,
删除了它,但没有区别。不过错误消息消失了。哦,我在顶部回显了变量数据,所有数据都来自表单。你有相同的错误吗????
if($updateDog = mysqli_prepare($con, "UPDATE dog SET 
                                 name =?,
                                 breed =?,
                                 gender =?,
                                 dominantColour =?,
                                 height =?,
                                 weight =?,
                                 generalDescription =?,
                                 dateFound =?,
                                 dogImage =?,
                                 status =?
                                 WHERE dogID =?")){
mysqli_stmt_bind_param($updateDog,"ssssddssssi",