jasonOk
@jasonOk
Легче болтать, чем код писать

Как правильно будет в PDO?

Есть выражение
$query = mysql_query("SELECT `id` FROM `users`  WHERE `id`='".$_POST['id']."' limit 1"); 
 $row = mysql_num_rows($query); 
if ($row){
       echo "Есть";
    
  }else{
        echo "Нет";
      }

но как можно понять его безопасность равна 0.
Я переделал на PDO, но не работает.
$id = filter_var($_POST['id'], FILTER_SANITIZE_NUMBER_INT);
$query = $DB->prepare("SELECT `id` FROM `users` WHERE `id`=:id limit 1");
$query->bindParam(':id', $id);
$query->execute();
$row = $query->rowCount();
if ($row){
       echo "Есть";
    
  }else{
        echo "Нет";
      }

Как будет правильно и абсолютно безопасно?
  • Вопрос задан
  • 199 просмотров
Пригласить эксперта
Ответы на вопрос 1
iDokuro
@iDokuro
Тугодум
<?php
$query = $DB->prepare('SELECT `id` FROM `users` WHERE `id` = ?');
$query->execute([(int) $_POST['id']]);

if ($query->rowCount())
{
    // Да
}
else
{
    // Нет
}

Если и так не работает, то включите показ ошибок или покажите логи
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
24 апр. 2024, в 09:39
20000 руб./за проект
24 апр. 2024, в 09:32
25000 руб./за проект
24 апр. 2024, в 09:27
13000 руб./за проект