INSERT错误

时间:2014-12-05 13:14:13

标签: php mysql

我正在开发一个将图像上传到服务器的脚本,以及MySQL数据库的路径。当我提交此内容时,会出现此错误:

  INSERT进入'images_tbl'('images_path')VALUES时出现

错误   ('images / 05-12-2014-1417785023.png')== ---->你有错误   你的SQL语法;查看与MySQL对应的手册   在''images_tbl'附近使用正确语法的服务器版本   ('images_path')VALUES('images / 05-12-2014-1417785023.png')'在第1行

以下是代码:

<?php
 include("mysqlconnect.php");

     function GetImageExtension($imagetype)
         {
        if(empty($imagetype)) return false;
        switch($imagetype)
        {
            case 'image/bmp': return '.bmp';
            case 'image/gif': return '.gif';
            case 'image/jpeg': return '.jpg';
            case 'image/png': return '.png';
            default: return false;
        }
      }



 if (!empty($_FILES["uploadedimage"]["name"])) {

     $file_name=$_FILES["uploadedimage"]["name"];
     $temp_name=$_FILES["uploadedimage"]["tmp_name"];
     $imgtype=$_FILES["uploadedimage"]["type"];
     $ext= GetImageExtension($imgtype);
     $imagename=date("d-m-Y")."-".time().$ext;
     $target_path = "images/".$imagename;


 if(move_uploaded_file($temp_name, $target_path)) {

      $query_upload="INSERT into 'images_tbl' ('images_path') VALUES ('".$target_path."')";
     mysql_query($query_upload) or die("error in $query_upload == ----> ".mysql_error());  

 }else{

    exit("Error While uploading image on the server");
 } 

 }

?>

我的编辑器没有提出任何语法错误,但似乎表明存在错误。

4 个答案:

答案 0 :(得分:2)

应该是 -

"INSERT into images_tbl (images_path) VALUES ('".$target_path."')";

OR

"INSERT into `images_tbl` (`images_path`) VALUES ('".$target_path."')";

删除'。这不是必需的。

答案 1 :(得分:2)

您将表名指定为简单字符串。替换&#39;用`或删除它。

INSERT into `images_tbl` (`images_path`) VALUES

答案 2 :(得分:2)

标识符引号是反引号而不是单引号:

INSERT into 'images_tbl' ('images_path')
            ^           ^             ^

你可以放弃它们。

INSERT into images_tbl (images_path)
// or
INSERT into `images_tbl` (`images_path`)

强制性注释:

  

Please, don't use mysql_* functions in new code。它们不再被维护and are officially deprecated。请参阅red box?转而了解prepared statements,并使用PDOMySQLi - this article将帮助您确定哪个。如果您选择PDO here is a good tutorial

     

参考:https://stackoverflow.com/a/12860140/3859027

以下是mysqli用法的简短示例:

$db = new mysqli('localhost', 'username', 'password', 'database');
$query_upload = 'INSERT INTO images_tbl (images_path) VALUES (?)';
$insert = $db->prepare($query_upload);
$insert->bind_param('s', $target_path);
$insert->execute();

答案 3 :(得分:1)

您将表名指定为字符串。

 $query_upload="INSERT into 'images_tbl' ('images_path') VALUES ('".$target_path."')";

尝试以下代码

 $query_upload="INSERT into images_tbl ('images_path') VALUES ('".$target_path."')";

希望这会对你有所帮助。