Intereting Posts

PDO не обязательные заполнители

Я пытаюсь изменить свой сценарий входа из mysql в PDO . Для остальной части моего сценария все швы будут хорошо отделены от этих частей, и я просто не могу понять, почему.

У меня есть код ниже

... $pasword=md5($_POST['password']); $email=$_POST['email']; .... $query ="SELECT id FROM guests WHERE email=':eml' AND password =':pwd' AND lead_guest=17"; // $param2=array(':eml'=>$email,':pwd'=>$pasword); $state=$dbh->prepare($query); $state->bindParam(':eml',$email); $state->bindParam(':pwd',$pasword); $state->execute(); 

в текущем состоянии он вернет количество строк в 0 (что не должно), я также попробовал

  //$state->bindParam(':eml',$email); //$state->bindParam(':pwd',$pasword); $state->execute($param2); 

который также возвращает количество строк в 0.

Переменные $email и $pasword верны, когда я их выхожу, и скрипт отлично работает с использованием функций mysql_ .

Переменная $dbh создается в заголовке и с $query ="select id where 1" работает как и ожидалось.

Я уверен (хотя и ошибаюсь), что у меня проблема сузилась до состояния state->bindParam() части скрипта. Я полностью потерял, почему эта часть скрипта не работает ни с одним теплом.

Удалить одинарные кавычки :

 SELECT id FROM guests WHERE email=:eml AND password =:pwd 

Ваш запрос будет

 $query ="SELECT id FROM guests WHERE email=:eml AND password =:pwd AND lead_guest=17"; 

Нет одиночных кавычек :eml и :pwd .