2010-06-07 2 views
0
DB::construct(); 
$STH = DB::prepare('INSERT INTO users (username, password, email, activationkey) VALUES (?, UNHEX(?), ?, ?)'); 
var_dump($STH); 
$result = $STH->execute(array('test', 'nils', '[email protected]', '227a038fe9c81515b514cb152188e95c')); 

echo "working? <br />"; 
if($result == false) echo 'noooo...'; 

Он выводит и не помещает ничего в базу данных. Работает с кодом similare с DPO только без моего класса DB. Но я не получаю никаких ошибок. У кого-нибудь есть идея, что может быть проблемой?проблемы, обертывание (класс) вокруг PDO, не работает

object(PDOStatement)#2 (1) { ["queryString"]=> string(87) "INSERT INTO users (username, password, email, activationkey) VALUES (?, UNHEX(?), ?, ?)" } 
working? <br /> noooo... 
+0

нет необходимости в тегах в скобках, есть причина, по которой у нас есть теги на SO – SQLMenace

+0

извините, не подумал об этом. исправлено и запоминается на будущее. – Knarf

ответ

0

Код кажется ОК (конечно, не знаю, что вы сделали под капотом). Не сам PDO генерирует ошибку/что делает var_dump($STH->errorInfo());?

+0

Обнаружена проблема. Должен был SHA1 вокруг параметра secound в массиве execute. Что-то о UnHEX, который не работает, когда я не делаю – Knarf

+0

Ну, 'SELECT 0x227a038fe9c81515b514cb152188e95c' действительно предоставляет некоторые странные байты, которые не подходят для столбца, отличного от bin/blob. – Wrikken

Смежные вопросы