1

私は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";

...

私は何を間違っていますか?

4

2 に答える 2

8

値は文字列です。エスケープした後でも、SQL ステートメントに区切り記号が必要です。

//inserting data
$sql="INSERT INTO Quotes (vauthor, cquotes)
VALUES ('$author', '$quote')";
于 2010-04-05T14:10:59.293 に答える
3

SQL では文字列を引用符で囲む必要があります。

$sql="INSERT INTO Quotes (vauthor, cquotes)
VALUES ('$author', '$quote')";
于 2010-04-05T14:12:49.563 に答える