Php 获取错误“;未捕获的PDOException:SQLSTATE[42000]:语法错误或访问冲突:1064“;
我得到这个错误=uncaughtpdoException:SQLSTATE[42000]:语法错误或访问冲突:1064您的SQL语法有错误;查看与您的MariaDB服务器版本对应的手册,以了解在“492x328BG5eb39cafa1826.jpg”)、(“492x328BG5ecbf5f78bd50.jpg”)、(“492x328BG5edda064e”附近使用的正确语法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
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)
,并在结果查询中搜索语法错误。谢谢,但不再在每行中插入回显图像,而是在一行中插入所有回显图像