2016-01-24 55 views
1

我在我的門戶中創建了一個單獨的頁面,可以將圖像上傳到我的數據庫。但在提交的圖像我收到以下錯誤PHP錯誤:您的SQL語法有錯誤;請查看與您的MySQL服務器版本對應的手冊,以獲取正確的語法

「的錯誤在INSERT到 'images_tbl'( 'images_path', 'submission_date') VALUES('圖像/ 24-01-2016-1453612538 '','2016-01-24')您的SQL語法錯誤爲 ;請查看與您的 MySQL服務器版本對應的手冊,以獲取在''images_tbl' ('images_path', 'submission_date')VALUES('images/24-01-2016-14'at line 1「

I a m在我的saveimage.php文件中得到這個錯誤。爲什麼這個錯誤是?

這裏是我的HTML代碼:

<html> 
<head> 
<title>Image Upload</title> 
</head> 
<body> 
<form action="saveimage.php" enctype="multipart/form-data" method="post"> 
<table style="border-collapse: collapse; font: 12px Tahoma;" border="1" cellspacing="5" cellpadding="5"> 
    <tbody> 
    <tr> 
     <td> 
      <input name="uploadedimage" type="file"> 
     </td> 
    </tr> 

    <tr> 
     <td> 
      <input name="Upload Now" type="submit" value="Upload Image"> 
     </td> 
    </tr> 
    </tbody> 
</table> 
</form> 
</body> 
</html> 

我saveimage.php文件的PHP代碼:

我mysqlconnect.php文件
<?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','submission_date') VALUES ('".$target_path."','".date("Y-m-d")."')"; 

    mysql_query($query_upload) or die("error in $query_upload ".mysql_error()); 

}else{ 
    exit("Error While uploading image on the server"); 
} 
} 
?> 

代碼是:

<?php 
/**********MYSQL Settings****************/ 
$host="localhost"; 
$databasename="demo"; 
$user="root"; 
$pass=""; 
/**********MYSQL Settings****************/ 

$conn=mysql_connect($host,$user,$pass); 

if($conn) 
{ 
$db_selected = mysql_select_db($databasename, $conn); 
if (!$db_selected) { 
    die ('Can\'t use foo : ' . mysql_error()); 
} 
} 
else 
{ 
    die('Not connected : ' . mysql_error()); 
} 
?> 
+0

不要引用表名。 –

+0

$ query_upload =「插入images_tbl('images_path','submission_date')VALUES('」。$ target_path。「','」。date(「Y-m-d」)。「')」; –

+0

@GeraldSchneider我刪除了引號,並使用了images_tbl而不是'images_tbl',但這也給我帶來了同樣的錯誤。 –

回答

1

刪除來自表名和列名的單引號,改爲使用反引號。所以,您的查詢應該是這樣的:

$query_upload="INSERT into `images_tbl`(`images_path`,`submission_date`) VALUES ('".$target_path."','".date("Y-m-d")."')"; 

旁註:不要使用mysql_*功能,它們被棄用的PHP 5.5,並且在PHP 7.0完全刪除。改爲使用mysqliPDOAnd this is why you shouldn't use mysql_* functions

+0

Yupp這工作。非常感謝。學到了新的概念。 –

相關問題