سؤال

أحاول تعلم 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