2016-12-19 102 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(); 
} 

這裏的用戶是一類在那裏準備爲DB連接mysql的準備功能。該錯誤總是打印 - 「陣列!」。我是新來的PHP。任何幫助將不勝感激。

編輯:我設法解決了這個問題。

+1

你好,你沒有輸出功能(哪裏來的「陣列」?)。所以,你需要用更多的代碼來改善你的文章。如果沒有提供給我們顯示結果的方式,我們不能幫助您:) 建議:在這裏,您進行查詢,將返回所有數據(多行)。使用您的獲取功能,您只需要第一行。所以在你的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