Я пытаюсь обновить таблицу MySQL с помощью простого PHP, но каждый раз, когда я запускаю эту команду, я получаю сообщение об ошибке: «Сайт находится в автономном режиме, пожалуйста, зайдите позже!» Строка, которую я вводил, - это только один простой абзац, но в нем есть HTML-код. Какую дезинфекцию нужно предпринять, чтобы заставить эту работу работать? Вот код:Что я не могу ОБНОВИТЬ мою таблицу с PHP?
if (!empty($_POST) && $_SESSION['logged'] == 1)
{
$title = $_POST['title1'];
$body = $_POST['body1'];
$query = "UPDATE pages SET title = '$title', body = '$body' WHERE id = '$id'";
$do_query = mysql_query($query) or die ("Site is offline, please check back later!");
}
И в этом пункте я пытаюсь обновить с:
Lorem Ipsum is simply dummy text of the printing and typesetting industry. <br /><br />Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. <br /><br />Please visit <a href="http://lipsum.com">Lipsum's website</a> for more info.
Вы не спасаясь текст, так что ваш SQL является неправильным после 'industry' – Popnoodles
Вы очень открыты для инъекции SQL. 'title1 = & body1 = & id = 'OR 1 = 1' будет испортить ВСЕ ваши страницы. [** Пожалуйста, не используйте 'mysql_ *' функции в новом коде **) (http://bit.ly/phpmsql). Они больше не поддерживаются [и официально устарели] (https://wiki.php.net/rfc/mysql_deprecation). См. [** красное поле **] (http://j.mp/Te9zIL)? Узнайте о [* подготовленных операторах *] (http://j.mp/T9hLWi) и используйте [PDO] (http://php.net/pdo) или [MySQLi] (http://php.net/ mysqli) - [эта статья] (http://j.mp/QEx8IB) поможет вам решить, какой из них. Если вы выберете PDO, [здесь хороший учебник] (http://j.mp/PoWehJ). – h2ooooooo
@popnoodles Кажется, да. Это точная причина, по которой «она будет использоваться только как внутренняя система», является худшей аргументацией в мире, чтобы не избегать переменных SQL. – h2ooooooo