pdo方式串連資料庫 查詢資料並調用fetch方法時出錯

來源:互聯網
上載者:User

1.在學習php時用PDO模式串連資料庫,查詢資料時,在調用fetch方法時出現錯誤:Fatal error: Call to a member function fetch() on a non-object
2.代碼

//PDO串連資料庫方式     try{         $db_conn = new PDO('mysql:host = localhost;dbname = test','root','123456');         echo "串連成功!";     }     catch(PDOException $e){         echo "Could not connect to datebase";     }//從表中選取資料     $stmt = $db_conn->query('SELECT * FROM user');     var_dump($stmt);//顯示結果     while ($row = $stmt->fetch()) {         echo $row['name'].$row['number'].$row['class'];     }

3.錯誤結果

4.資料庫

回複內容:

1.在學習php時用PDO模式串連資料庫,查詢資料時,在調用fetch方法時出現錯誤:Fatal error: Call to a member function fetch() on a non-object
2.代碼

//PDO串連資料庫方式     try{         $db_conn = new PDO('mysql:host = localhost;dbname = test','root','123456');         echo "串連成功!";     }     catch(PDOException $e){         echo "Could not connect to datebase";     }//從表中選取資料     $stmt = $db_conn->query('SELECT * FROM user');     var_dump($stmt);//顯示結果     while ($row = $stmt->fetch()) {         echo $row['name'].$row['number'].$row['class'];     }

3.錯誤結果

4.資料庫

你的sql查詢出錯了,$stmt都是false了,還怎麼執行fetch呀

foreach ($db_conn->query('SELECT * FROM user') as $row) {        print $row['name'] . "\t";        print $row['age'] . "\t";    }

參考手冊。問題一般都可以解決。:)

query執行SQL後可以直接用fetchAll擷取結果集,這樣就不需要while迴圈逐條fetch了:

query($sql)->fetchAll(PDO::FETCH_ASSOC) );

可以在phpmyadmin中把你要查詢的sql語句運行一下,
SELECT * FROM user,可能它就是錯的。
我一直是這樣查錯的,希望能幫到你。

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.