簡體   English   中英

獲取錯誤“未捕獲的 PDOException:SQLSTATE[42000]:語法錯誤或訪問沖突:1064”

[英]getting error “Uncaught PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064”

我收到此錯誤 = 未捕獲的 PDOException: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>```

您正在使用'來啟動您的圖像值,對於他的內容,您需要在要存儲在數據庫中的'中使用\\

在您的 php 代碼中,只需更改行:

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

對此:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM