Я знаю, что в pdo безопасно так: $dbh->prepare('update x set y = ?')->execute(array($_POST['y']));
а простой запрос $dbh->query('update x set y = {$_POST['y']}'); безопасен?
sirious, htmlspecialchars нужно на ВЫВОДЕ из бд. А для пдо напиши свою функцию фильтровки тех же символов, что и mysql_real_escape_string, посредством str_replace и ему подобных, но туда еще добавь %, обратный слэш и доллар. Так, на всякий случай.
добавлено спустя 2 минуты:
SPAHI4, безопасен первый вариант. И желательно его вместе с выше описанной мною функцией совмещать.
добавлено спустя 5 минут:
SPAHI4, а второй вариант это вобще бред седой кобылы, потому что он вобще полностью противоречит принципу пдо, описанному копипастом анархиста. Тоесть это обычный аналог mysql_query без каких-либо отклонений и новшеств. Зачем тогда вобще юзать пдо, если использовать второй вариант =)
sirious пишет:
"Ну например из формы входящие данные методом пост надо занести в бд, при запросах в бд? А htmlspecialchars вродь в любом случае нужно, я что т запутался"
-
Фильтрация только необходима,при занесении данных в бд.
добавлено спустя 2 минуты:
SPAHI4 пишет:
"Я знаю, что в pdo безопасно так: $dbh->prepare('update x set y = ?')->execute(array($_POST['y']));
а простой запрос $dbh->query('update x set y = {$_POST['y']}'); безопасен?"
-
Если в документации так изложено,то безопасно.
Да уж, мнения разделились. Оно конечно то можно проверять данные, но ненужную работу не охота проделывать. И все же было бы приятно не делать фильтрации
25 Июл 2012, 14:00sirious, если ты про мнение анархиста, то смело можешь его мнение вычеркнуть, т.к. это бот )
25 Июл 2012, 14:17Всех приветствую, озадачен таким вопросом есть 2 запроса:
1) SELECT COUNT(*) FROM catalog WHERE user_id='$id'
2) SELECT COUNT(*) FROM comments WHERE user_id='$id'
Хотелось бы объединить их в один запрос. Пробовал через UNION, но если в обоих таблицах есть записи с user_id=2, то выводится общий результат - 1, и так-же если нет записей вообще выводит - 0. А хотелось бы чтоб для каждой таблицы выводило отдельно.
Маньяк, используются в одном месте, в профайле. На самом деле запросов не 2, а 6 и проблематично каждый запрос по отдельности делать.
добавлено спустя 1 час 18 минут:
Так может кто помочь?
добавлено спустя 27 секунд:
mazaHELL, так не работает.