PHP / SQL: «ложное» значение получено из базы данных с хорошим запросом

0

У меня есть php-скрипт, который запрашивает мою базу данных с PDO, чтобы проверить, существуют ли какие-то отправленные значения. Если они существуют, база данных отвечает идентификатором этого значения строки. Я протестировал запрос на mysql, и он работает, но полученное значение false. Этот код предназначен только для личного использования. Есть код:

<?php
include("../template/pdo.php");
$query = $pdo->prepare("SELECT id_utilisateur FROM utilisateur
      WHERE 'mail' IN ( ':mail' )
        AND 'mdp' IN ( ':mdp' )");
$query->bindParam(':mail', $_GET['identifiant'], PDO::PARAM_STR);
$query->bindParam(':mdp', $_GET['mdp'], PDO::PARAM_STR);
$success = $query->execute();

if($success)
{
  $result = $query->fetch();
  var_dump($result); //bool(false) actually
  if($result == false){
    $message = "Try again.";
  }
  else{
    $message = "Congratulation !";
  }
}

Я тестировал все, что знаю:

  • $_GET - это печать/вставка из моей таблицы базы данных в мой URL, и я печатаю его

  • Отпечатано/вставлено в phpMyAdmin запрос из PDOStatement::debugDumpParams() с моими значениями $_GET

  • pdo.php работает и используется на других скриптах

  • Не регистрировать мои файлы журналов.

Кто-то может мне помочь? Спасибо !

  • 0
    ': mail' разделенные командой идентификаторы ??
  • 4
    Не указывайте свои заполнители. Он будет читать его как строку, а не помещать в нее ваше значение.
Показать ещё 3 комментария
Теги:
pdo

1 ответ

0
Лучший ответ
  • Если вы тестируете одно значение, используйте =, а не IN.
  • Если у вас есть список значений, требуется несколько изменений.
  • Код привязки добавит кавычки, у вас уже есть кавычки. Удалите свои кавычки.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню