[align=center]مربوط به تاپیک [color=#DAA520]خطایابی کدهای php - مشکلات رایج برنامه نویسان[/color] (در Tab جدید باز میشود)[/align]


سلام بطور کلی این خطا زمانی بوجود میاد که شما یک کوئری اشتباه از دیتابیس بگیرید و گرامر SQL رو رعایت نکرده باشید. برای مثال این خطا زمانی میتونه اتفاق بیوفته که شما بدرستی ورودی ها رو escape نکرده باشید:

$query = "UPDATE `posts` SET my_text='{$_POST['text']}' WHERE id={$_GET['id']}";
mysqli_query($db, $query);

در این حالت اگر کلید test داخل متغیر POST_$ حاوی یه تک کوت ( ' ) مثل I**[color=#FF0000]'[/color]**m a PHP newbie باشه اونوقت کوئری به این شکل درمیاد:

$query = "UPDATE `posts` SET my_text='I'm a PHP newbie' WHERE id=10';

و این یه کوئری اشتباهه و موجب بروز خطای بالا میشه. نکته:چون این یه مثال برای این خطا بود دیگه راه حلشو نیازی نیست بگم.

آخرین ویرایش: 03-01-2018 ساعت 18:05، توسط Reza