我正在尝试学习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";

...

我究竟做错了什么?

有帮助吗?

解决方案

您的值是字符串,即使您逃脱了,它们仍然需要SQL语句中的定界符。

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

其他提示

字符串必须用SQL中的引号包裹:

$sql="INSERT INTO Quotes (vauthor, cquotes)
VALUES ('$author', '$quote')";
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top