2015-02-15 5 views
-2

Я пытаюсь сделать SELECT с PDO. Я использую столбец «имя пользователя», чтобы указать информацию о пользователе. Когда я использую "WHERE id = $user_id", он возвращает правильный результат, но когда я использую "WHERE username = $username", он возвращает пустой массив. Вот мой кодPDO SELECT с предложением WHERE пустой массив

USER MODEL FILE 

class user_model extends Models { 
function __construct() { 
    parent::__construct(); 
} 

function e_mail_control($e_mail) 
{ 
    $this->db->select('*'); 
    $this->db->where(array('user_e_mail' => $e_mail)); 
    return $this->db->get('users', PDO::FETCH_ASSOC); 
} 

function username_control($username) 
{ 
    $this->db->select('*'); 
    $this->db->where(array('user_username' => $username)); 
    return $this->db->get('users', PDO::FETCH_ASSOC); 
}} 
+0

У вас есть опечатка в функции '$ this-> db-> selectc ('*');' у вас есть дополнительный c после выбора – Fabio

+0

это не так. Я пишу их в разных языках. я изменил их для здесь –

+0

Я никогда не видел этот синтаксис, но я предполагаю, что вам нужно указать имя пользователя. Обычно я использую функцию запроса с параметризованными значениями. http://php.net/manual/en/pdo.query.php – chris85

ответ

-1

Вы должны использовать одиночные кавычки для $username:

WHERE username = '$username' 
+0

Нигде в опубликованном коде не содержится строгий оператор SQL с созданным вручную предложением WHERE. В игре явно есть построитель запросов Framework. –

+0

Я уверен, что вы тот, кто проголосовал за все эти должности, поэтому вместо того, чтобы делать это, вы можете просто дать нам лучший ответ, или вы можете просто F.O –

+0

Не «все это», только ваш ответ. Я бы предоставил лучший ответ, если ОП предоставит необходимую информацию, запрошенную в комментариях выше, и я знаю, каков ответ, когда у нас есть эта информация. –

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