Php 获取错误“;未捕获的PDOException:SQLSTATE[42000]:语法错误或访问冲突:1064“;

Php 获取错误“;未捕获的PDOException:SQLSTATE[42000]:语法错误或访问冲突:1064“;,php,html,Php,Html,我得到这个错误=uncaughtpdoException:SQLSTATE[42000]:语法错误或访问冲突:1064您的SQL语法有错误;查看与您的MariaDB服务器版本对应的手册,以了解在“492x328BG5eb39cafa1826.jpg”)、(“492x328BG5ecbf5f78bd50.jpg”)、(“492x328BG5edda064e”附近使用的正确语法 require_once "dbconnect.inc.php"; $errors = arra

我得到这个错误=uncaughtpdoException:SQLSTATE[42000]:语法错误或访问冲突:1064您的SQL语法有错误;查看与您的MariaDB服务器版本对应的手册,以了解在“492x328BG5eb39cafa1826.jpg”)、(“492x328BG5ecbf5f78bd50.jpg”)、(“492x328BG5edda064e”附近使用的正确语法


require_once  "dbconnect.inc.php";

$errors = array();
$success = array();
if(strtolower($_SERVER['REQUEST_METHOD']) == 'post') {

    
    $subdir = substr(str_shuffle('ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890') , 0 , 10 );


    $path="uploads"; 

    mkdir($path."/$subdir",0777,true);


    $uploadDir = 'uploads/'.$subdir.'/';
    $allowTypes = array('jpg','png','jpeg','gif');

    if(!empty(array_filter($_FILES['files']['name']))){
        foreach($_FILES['files']['name'] as $key=>$val){
            $filename = basename($_FILES['files']['name'][$key]);
            $targetFile = $uploadDir.$filename;
            if(move_uploaded_file($_FILES["files"]["tmp_name"][$key], $targetFile)){
                $success[] = "Uploaded $filename";
                $insertQrySplit[] = "('$filename')";
            }
            else {
                $errors[] = "Something went wrong- File - $filename";
            }
        }

        //Inserting to database
        if(!empty($insertQrySplit)) {
            $query = implode(",",$insertQrySplit);
            $file_path = $path."/$subdir/";
             $sql = ("INSERT INTO upload_images (image,path) VALUES ('".$query."','".$file_path."')");


            $stmt= $conn->prepare($sql);
            $stmt->execute();
        }
    }
    else {
        $errors[] = "No File Selected";
    }

}
?>
<!doctype html>
<html lang="en" class="h-100">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <title>Ajax Upload</title>
    <!-- Bootstrap core CSS -->
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@4.3.1/dist/css/bootstrap.css" rel="stylesheet">
    <style>
        .formSmall {
            width: 500px;
            margin: 20px auto 20px auto;
        }
        .message {
            padding:10px;
        }
    </style>

</head>
<body>
<div class="container">

        <div class="row">
            <div class="col-lg-7">
                <h5 class="text-align"> Upload Form</h5>
            </div>
            <?php if(!empty($success)):?>
                <div class="alert alert-success" role="alert">
                    <ul>
                    <?php foreach ($success as $val):?>
                        <li><?php print $val?></li>
                    <?php endforeach;?>
                    </ul>
                </div>
            <?php endif;?>
            <!-- Error listing-->
            <?php if(!empty($errors)):?>
                <div class="alert alert-danger" role="alert">
                    <ul>
                        <?php foreach ($errors as $val):?>
                            <li><?php print $val?></li>
                        <?php endforeach;?>
                    </ul>
                </div>
            <?php endif;?>

            <div class="col-lg-7">
                <form action="" method="post" enctype="multipart/form-data">
                    <label>Select Image(s):</label>
                    <input type="file" name="files[]" multiple >
                    <br>
                    <input type="submit" name="submit" value="Upload">
                </form>
            </div>
        </div><!-- .row -->

</div>

</body>
</html>```

需要一次“dbconnect.inc.php”;
$errors=array();
$success=array();
if(strtolower($\u服务器['REQUEST\u METHOD'])=='post'){
$subdir=substr(str_shuffle('abcdefghijklmnopqrstuvxyz0124567890'),0,10);
$path=“上传”;
mkdir($path./$subdir),0777,true);
$uploadDir='uploads/'。$subdir./';
$allowTypes=array('jpg'、'png'、'jpeg'、'gif');
if(!empty(数组_筛选器($_FILES['FILES']['name'])){
foreach($_FILES['FILES']['name']作为$key=>$val){
$filename=basename($_FILES['FILES']['name'][$key]);
$targetFile=$uploadDir.$filename;
如果(移动上传的文件($文件[“文件”][“tmp文件名”][$key],$targetFile)){
$success[]=“上传$filename”;
$insertQrySplit[]=“(“$filename”)”;
}
否则{
$errors[]=“出现问题-文件-$filename”;
}
}
//插入到数据库
如果(!empty($insertQrySplit)){
$query=内爆(“,”,$insertQrySplit);
$file_path=$path.“/$subdir/”;
$sql=(“插入上载图像(图像,路径)值(““$query.”、“$file\u path.”)中);
$stmt=$conn->prepare($sql);
$stmt->execute();
}
}
否则{
$errors[]=“未选择任何文件”;
}
}
?>
Ajax上传
.formSmall{
宽度:500px;
保证金:20px自动20px自动;
}
.留言{
填充:10px;
}
上传表单
选择图像:
```
您正在使用
'
来启动图像值,对于他的内容,您需要在要存储在数据库中的
'
中使用
\

在php代码中,只需更改以下行:

$insertQrySplit[] = "('$filename')";
为此:

$insertQrySplit[] = "(\'$filename\')";

在执行查询之前插入一个
var\u dump($sql)
,并在结果查询中搜索语法错误。谢谢,但不再在每行中插入回显图像,而是在一行中插入所有回显图像