2014-10-08 43 views
0

我得到長段落的SQL語法錯誤,但相同的代碼工作正常的短行文本。我附上錯誤的屏幕截圖。在長段落php的SQL語法錯誤

下面是我的插入查詢代碼。等待你的答覆。

<?php 
include('config.php'); 

if(isset($_POST['add'])) 
{ 
    echo $name=$_POST['name']; 
    $description=$_POST['description']; 
    $status=$_POST['status']; 
    $image=$_FILES['image']['name']; 
    if(isset($_FILES['image']['name'])) 
     { 
    move_uploaded_file($_FILES['image']['tmp_name'],"gallery_files//".$_FILES['image']['name']); 
    echo $image=$_FILES['image']['name']; 
    } 

    echo $sql="INSERT INTO test(name,description,image,status)VALUES('$name','$description','$image','$status')"; 
    $r=mysql_query($sql) or die(mysql_error()); 
    echo "<script>window.location = 'product.php'</script>"; 
    } 
?> 
+1

你得到了什麼錯誤? – Jenz 2014-10-08 07:19:24

+0

哪裏是截圖附錯誤? – TBI 2014-10-08 07:20:14

+2

對於數據庫字段,文本是否太長?您的數據庫是否需要VARCHAR(100),你試圖保存200個字符的文本? – FAS 2014-10-08 07:21:50

回答

1

您的內容可能包含需要轉義的引號字符。您可以使用PHP函數mysql_real_escape_string(),該函數轉義字符串中的特殊字符以用於SQL語句。

嘗試用:

$description = mysql_real_escape_string($_POST['description']); 

另外,還要確保數據類型是text或用於存儲大塊的字符串數據longtext