Доброго времени суток! Код (Text): $login = $_POST['login']; $password = $_POST['password']; $query = "SELECT * FROM `product` WHERE `height` = '$login' AND `cost` = '$password' "; $result = mysql_query($query); while ($tt = mysql_fetch_array($result)) { echo $tt['mark']; } Вышеуказанный код, отлично работает. Решил сделать тоже самое с PDO Код (Text): $login = $_POST['login']; $password = $_POST['password']; $sth = $this->db->prepare("SELECT * FROM product WHERE height = :login AND cost = :password "); $sth->execute(array(':login' => $login, ':password' => $password)); $data = $sth->fetchAll(); print_r($data); Результат array() Подскажите, куда стоит обратить внимание. вот как все подключено: login_model.php Код (Text): class Login_Model extends Model { public function __construct() { parent::__construct(); } public function run() { //PDO код } } model.php Код (Text): class Model { function __construct() { $this->db = new Database(); } } database.php Код (Text): class Database extends PDO { public function __construct() { parent::__construct('mysql: dbname=base; host=localhost', 'root', ''); } }
Re: не работает PDO prepare сделай одинаковыми, потом будешь знать принципиально или нет. Добавлено спустя 1 минуту 48 секунд: p.s. надо попытаться получить сообщение об ошибке http://stackoverflow.com/questions/3999850/pdo-error-message Добавлено спустя 2 минуты 13 секунд: p.p.s. http://php.ru/manual/function.error-reporting.html
Re: не работает PDO prepare Спасибо за подсказку, сделал так: Код (Text): $this->db->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING ); $sth = $this->db->prepare("SELECT * FROM product WHERE height = :login AND cost = :password "); $sth->execute(array(':login' => $login, ':password' => $password)); в итоге получил: Не пойму почему No database selected, вроде все правильно в соединении. И SQLSTATE[3D000]: Invalid catalog name - что за каталог, таблица в БД? Заработало! Нашел ответ тут: http://stackoverflow.com/questions/...-dbname-tablename-as-opposed-to-tablename-why что получилось в итоге: Код (Text): $login = $_POST['login']; $password = $_POST['password']; $this->db->exec('USE base;'); $this->db->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING ); $sth = $this->db->prepare("SELECT * FROM product WHERE height = :login AND cost = :password "); $sth->execute(array(':login' => $login, ':password' => $password)); $data = $sth->fetchAll(); print_r($data);
Re: не работает PDO prepare ну и как, с учетом получнного опыта, ты бы назвал эту тему? при чем тут prepare??? кое-что про указание базы в доках про PDO