Php 'SQLSTATE[HY093],我把逗号放错了吗?

Php 'SQLSTATE[HY093],我把逗号放错了吗?,php,mysql,Php,Mysql,我的代码基本上是在运行。我似乎总是一次又一次地犯同样的错误。我想是因为我把逗号放错了,但我不知道。有人能帮我处理这个代码吗 <?php $db_server = "localhost"; $db_username = "root"; $db_password = ""; $db_database = "meubelfabriek"; $conn = new PDO("mysql:host=$db_server;dbname=$db_database"

我的代码基本上是在运行。我似乎总是一次又一次地犯同样的错误。我想是因为我把逗号放错了,但我不知道。有人能帮我处理这个代码吗

<?php
    $db_server = "localhost";
    $db_username = "root";
    $db_password = "";
    $db_database = "meubelfabriek";
    $conn = new PDO("mysql:host=$db_server;dbname=$db_database", $db_username, $db_password);
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    if(isset($_POST['submit']))
    {
        $prijs = $_POST['prijs'];
        $naam = $_POST['fname'];
        $beschrijving = $_POST['desc'];
        $maat1 = $_POST['maat1'];
        $maat2 = $_POST['maat2'];
        $maat3 = $_POST['maat3'];
        $maat4 = $_POST['maat4'];
        $imageName = $_FILES["image"]["name"];
        $imageData = file_get_contents($_FILES["image"]["tmp_name"]);
        $imageType = $_FILES["image"]["type"];
        if(substr($imageType,0,5)=="image")
        {
            $stmt = $conn->prepare("INSERT INTO producten ( naam, beschrijving, prijs, maat1, maat2, maat3, maat4, namen, image ) VALUES (  :naam, :beschrijving, :prijs,  :maat1, :maat2, :maat3, maat4,'$imageName', " . $conn->quote($imageData) . ")");
            $stmt->execute(array(":naam"=>$naam, ":beschrijving"=>$beschrijving, ":prijs"=>$prijs, ":maat1"=>$maat1, ":maat2"=>$maat2, ":maat3"=>$maat3, ":maat4"=>$maat4));;
        }
        else
        {
            echo "Oops, something went wrong!";    
        }
    }
?>

这行中有一个额外的分号:

$stmt->execute(array(":naam"=>$naam, ":beschrijving"=>$beschrijving, ":prijs"=>
$prijs, ":maat1"=>$maat1, ":maat2"=>$maat2, ":maat3"=>$maat3, ":maat4"=>$maat4));; <--
你错过了一个::


问题在于If语句

 $stmt = $conn->prepare("INSERT INTO producten ( naam, beschrijving, prijs, maat1, maat2, maat3, maat4, namen, image ) VALUES (  :naam, :beschrijving, :prijs,  :maat1, :maat2, :maat3, maat4,'$imageName', " . $conn->quote($imageData) . ")");
        $stmt->execute(array(":naam"=>$naam, ":beschrijving"=>$beschrijving, ":prijs"=>$prijs, ":maat1"=>$maat1, ":maat2"=>$maat2, ":maat3"=>$maat3, ":maat4"=>$maat4));;

添加双引号。删除一个。

提供完整的错误详细信息插入查询AT4中,将其替换为:maat4并重试
 $stmt = $conn->prepare("INSERT INTO producten ( naam, beschrijving, prijs, maat1, maat2, maat3, maat4, namen, image ) VALUES (  :naam, :beschrijving, :prijs,  :maat1, :maat2, :maat3, maat4,'$imageName', " . $conn->quote($imageData) . ")");
        $stmt->execute(array(":naam"=>$naam, ":beschrijving"=>$beschrijving, ":prijs"=>$prijs, ":maat1"=>$maat1, ":maat2"=>$maat2, ":maat3"=>$maat3, ":maat4"=>$maat4));;