اقتصد في MySQL/PHP
-
24-09-2019 - |
سؤال
أحاول تعلم 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')";
لا تنتمي إلى StackOverflow