我正在尝试从我的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>';
}
现在,您可能了解我的目标:)
答案 0 :(得分:1)
通常Call to a member function setFetchMode() on a non-object
表示$ result不可用。可能是因为MySQL错误 - 无论是连接还是查询。查看if($conn)
或if($result)
。
答案 1 :(得分:1)
您仍然需要获取结果... 因此,而不是foreach ....做... ...
while ($row = $result->fetch()) {
//your code here
}
答案 2 :(得分:0)
您可能需要准备不查询
$result = $conn->prepare("SELECT name FROM mod_devs");
或者
$result->setFetchMode(PDO::FETCH_OBJ);
答案 3 :(得分:0)
我刚发现错误。在连接中我写了name=erty
而不是dbname=erty
!
抱歉占用你的时间:(