2016-12-19 3 views
-3

Я пытаюсь, чтобы получить MySQL данные из таблицы, здесь -Получить данные MySQL

try 
    { 
     $stmt = $user->prepare("SELECT status FROM users"); 
     $result=$stmt->fetch(PDO::FETCH_ASSOC); 

     if($result['status'] != "Y") 
     { 
      $error[] = "Some error warning!"; 
     } 
     else 
     { 
      // Some php codes 
     } 
    } 
catch(PDOException $e) 
{ 
    echo $e->getMessage(); 
} 

Здесь пользователь является класс, где готовят подключение БД MySQL подготовить функцию. Ошибка всегда печатает - «Массив!». Я новичок в php. Любая помощь будет оценена.

EDIT: Мне удалось решить проблему.

+1

Здравствуйте, у вас нет функции вывода (Откуда берутся «Массив»?). Итак, вам нужно улучшить свой пост с большим количеством кода. Мы не можем помочь вам, не предоставляя нам способ отображения результата :) Совет. Здесь вы делаете запрос, который будет возвращать все данные (несколько строк). С вашей функцией выборки вы берете только первую строку. SO в вашей команде SQL добавьте инструкцию 'LIMIT 1' или добавьте условия' WHERE', чтобы ограничить результат или использовать цикл (foreach) для итерации по каждому объекту. –

+0

Я только что повторил вывод внутри пролета. Кажется, что эхо-ошибка не вызывает никаких проблем. Поскольку все остальные работают нормально, примите это сравнение равенства. – Cobra

ответ

0

Вы забыли позвонить по номеру PDOStatement::execute(). Для некоторых примеров см. php.net.

Вы уже пробовали это?

try 
{ 
    $stmt = $user->prepare("SELECT status FROM users"); 
    $stmt->execute(); 

    $result = $stmt->fetch(PDO::FETCH_ASSOC); 

    if($result['status'] != "Y") 
    { 
     $error[] = "Some error warning!"; 
    } 
    else 
    { 
     // Some php codes 
    } 
} 
catch(PDOException $e) 
{ 
    echo $e->getMessage(); 
} 

Относительно Array! выход: Вы вывесить весь код вашего сценария? Вы пытались распечатать массив $error?

+1

Вы правы, но вы ушли в некоторых синтаксических проблемах. '$ sth'! =' $ stmt' –

+0

Спасибо за ссылку. Мне удалось решить проблему. – Cobra

+0

Извините, исправлена ​​синтаксическая ошибка. – W0rma

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