cari

Rumah  >  Soal Jawab  >  teks badan

php - pdo方式连接数据库 查询数据并调用fetch方法时出错

1.在学习php时用PDO模式连接数据库,查询数据时,在调用fetch方法时出现错误:Fatal error: Call to a member function fetch() on a non-object
2.代码

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

<code>//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'];

     }

</code>

3.错误结果

4.数据库

大家讲道理大家讲道理2903 hari yang lalu1035

membalas semua(4)saya akan balas

  • ringa_lee

    ringa_lee2017-04-10 17:01:31

    你的sql查询出错了,$stmt都是false了,还怎么执行fetch呀

    balas
    0
  • PHP中文网

    PHP中文网2017-04-10 17:01:31

    1

    2

    3

    4

    <code>foreach ($db_conn->query('SELECT * FROM user') as $row) {

            print $row['name'] . "\t";

            print $row['age'] . "\t";

        }</code>

    参考手册。问题一般都可以解决。:)

    balas
    0
  • PHPz

    PHPz2017-04-10 17:01:31

    query执行SQL后可以直接用fetchAll获取结果集,这样就不需要while循环逐条fetch了:

    1

    2

    3

    4

    <code><?php

    $db = new PDO();

    $sql = 'SELECT * FROM user';

    var_export( $db->query($sql)->fetchAll(PDO::FETCH_ASSOC) );</code>

    balas
    0
  • PHP中文网

    PHP中文网2017-04-10 17:01:31

    可以在phpmyadmin中把你要查询的sql语句运行一下,
    SELECT * FROM user,可能它就是错的。
    我一直是这样查错的,希望能帮到你。

    balas
    0
  • Batalbalas