Итак, у меня есть этот код:PHP: str_replace не работает
<?php
include '../config.php';
$query=$_GET['q'];
//replace
echo str_replace('\','',$query);
$sql=mysql_query($query) or die("Query not executed!");
echo $query;
echo "\n //executed";
mysql_close();
?>
проблема на $ _GET, например, при использовании ', пример: «пользователи UPDATE Набор монет = 3 WHERE имя пользователя =' админ ВОЗВРАТ: «пользователи обновления набор монет = 3, где имя пользователя = \„\“админ=> должен быть„админ“„“
То есть ** Необычайно ОПАСЕН ** код. Вы разрешаете пользователям передавать произвольный SQL в ваш БД и выполнять его. Что мешает кому-то уничтожить вашу БД? Обновление их пользовательской записи и предоставление полных привилегий? Вы должны быть ** THANKFUL **, что у вас устаревшая установка PHP, у которой все еще есть register_globals. Отбросьте этот код, сжечь его до пепла, разбросать пепел на разных континентах, а затем научиться писать безопасный PHP-код, прежде чем делать что-либо еще. –
Разве это не приведет к синтаксической ошибке? – Flosculus
Я не помню, если \ или/что сцепляется, но если это \, вы должны добавить лишний \ я считаю. –