1

我正在尝试从我的 MySQL 数据库中获取一个列表,这通常可以正常工作。但是今天我收到了这个错误Fatal error: Call to a member function setFetchMode() on a non-object in "Way too long path to file here"

这是我的 PHP 代码:

$conn = new PDO('mysql:host=localhost;port=3306;name=erty', 'erty', 'Ops, that my password ...');

$result = $conn->query("SELECT name FROM mod_devs");
$result->setFetchMode();
foreach ($result as $row) { 
    echo '<tr><td>'.$row['name'].'</td></tr>';
}

现在,你可能明白我的目标了 :)

4

4 回答 4

1

通常Call to a member function setFetchMode() on a non-object意味着 $result 不可用。可能是因为 MySQL 错误 - 在连接或查询中。检查if($conn)if($result)

于 2013-07-29T22:24:28.020 回答
1

你仍然需要获取结果......所以而不是 foreach....do while...

  while ($row = $result->fetch()) {
  //your code here

    } 
于 2013-07-29T22:24:43.080 回答
0

你可能需要准备而不是查询

     $result = $conn->prepare("SELECT name FROM mod_devs");

或这个

    $result->setFetchMode(PDO::FETCH_OBJ);
于 2013-07-29T22:25:10.010 回答
0

我刚刚发现了错误。在连接我name=erty没有写dbname=erty

很抱歉占用您的时间:(

于 2013-07-29T22:30:02.753 回答