php中长段落的SQL语法错误

php中长段落的SQL语法错误,php,sql,insert-query,Php,Sql,Insert Query,我得到的SQL语法错误的长段落,但同样的代码是工作的罚款为短线文本。我附上了错误的屏幕截图 下面是我的插入查询代码。等待您的回复 <?php include('config.php'); if(isset($_POST['add'])) { echo $name=$_POST['name']; $description=$_POST['description']; $status=$_POST['status']; $image=$_FILES['ima

我得到的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>";
    }
?>

您的内容可能包含引号字符,您需要对其进行转义。您可以使用PHP函数
mysql\u real\u escape\u string()
,它可以转义字符串中的特殊字符,以便在SQL语句中使用

尝试:

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

还要确保数据类型为
text
longtext
,用于存储大量字符串数据。

您遇到了什么错误?错误的屏幕截图附在哪里?文本对于数据库字段是否太长?您的数据库是否需要例如VARCHAR(100),并且您正试图保存一个包含200个字符的文本?另外:SQL注入!mysql_*已被弃用。。。请改用mysqli_*或PDO。@Jenz谢谢。它解决了