Эта ошибка часто возникает из-за того, что вы забыли правильно удалить данные, переданные в MySQL-запрос .
Пример того, что не делать («Плохая идея»):
$query = "UPDATE `posts` SET my_text='{$_POST['text']}' WHERE id={$_GET['id']}";
mysqli_query($db, $query);
Этот код может быть включен в страницу с формой для отправки с URL-адресом например http://example.com/edit.php?id=10 (для редактирования сообщения n ° 10)
Что произойдет, если представленный текст содержит одинарные кавычки ? $query
закончится:
$query = "UPDATE `posts` SET my_text='I'm a PHP newbie' WHERE id=10';
И когда этот запрос будет отправлен в MySQL, он будет жаловаться, что синтаксис неверен, потому что в середине есть отдельная одинарная кавычка.
Чтобы избежать таких ошибок, вы ДОЛЖНЫ всегда избегать данных перед использованием в запросе.
Экранирование данных перед использованием в SQL-запросе также очень важно, потому что если вы этого не сделаете, ваш скрипт будет быть открытым для инъекций SQL. SQL-инъекция может привести к изменению, потере или изменению записи, таблицы или всей базы данных. Это серьезная проблема безопасности!
Документация:
Это относится к компонентам, или технологии/языки/работа sytems/etc раньше создавал веб-сайт. Например, стек "LAMP": Linux, Apache, MySQL, PHP
"Стек" является сленгом, говорившим программистами, пытающимися отчаянно сделать набор инструментов, они используют прохладный звук.
Стек - то, потому что компоненты накапливаются друг на друге
Your Application Presentation
Your Application Controls
Your Application Models
HTTP Server (Apache, IIS, etc.)
Database
Operating System
, Это не строго стек (не как стек протоколов OSI). Но это - приблизительно стек.