撇号在mysql/php中

inp*_*put 1 php mysql database mysql-real-escape-string apostrophe

我正在尝试学习php/mysql.

将数据插入mysql工作正常,但插入带有撇号的数据会产生错误.我尝试使用mysql_real_escape_string,但这不起作用.

非常感谢任何帮助.


<?php
include 'config.php';

echo "Connected <br />";



$auth = $_POST['author'];
$quo = $_POST['quote'];

$author = mysql_real_escape_string($auth); 
$quote = mysql_real_escape_string($quo); 


//**************************



//inserting data
$sql="INSERT INTO Quotes (vauthor, cquotes)
VALUES ($author, $quote)";

if (!mysql_query($sql,$conn))
  {
  die('Error: ' . mysql_error());
  }
echo "1 record added";
Run Code Online (Sandbox Code Playgroud)

...

我究竟做错了什么?

Pet*_*ley 8

您的值是字符串,它们仍然需要在SQL语句中使用分隔符,即使在您转义它们之后也是如此.

//inserting data
$sql="INSERT INTO Quotes (vauthor, cquotes)
VALUES ('$author', '$quote')";
Run Code Online (Sandbox Code Playgroud)