调用成员函数setFetchMode()错误

时间:2013-10-18 05:38:48

标签: php

我一直在收到此错误,

  

"致命错误:在第34行和第34行的C:\ Users \ Public \ wamp \ www \ audiotextCSVUpload \ modified.php中的非对象上调用成员函数setFetchMode()。

你能帮我解决导致错误的原因吗?在我的一台计算机中,它没问题,但在我们的办公室中,存在错误。在下面找到代码:

<?php
require_once 'dbconfig.php';

try {
    $conn = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);

    $sql = 'SELECT phone, last_name, first_names
            FROM contacts';

    $q = $conn->query($sql);
    $q->setFetchMode(PDO::FETCH_ASSOC);

} catch (PDOException $pe) {
    die("Could not connect to the database $dbname :" . $pe->getMessage());
}
?>

2 个答案:

答案 0 :(得分:1)

检查错误

$q = $conn->query($sql);
if (!$q) {
    echo "\nPDO::errorInfo():\n";
    print_r($conn->errorInfo());
}

答案 1 :(得分:0)

问题似乎是您的查询,表联系人不存在或您检索的字段不正确。

向PDO添加例外是个好主意,请在$conn

之后添加
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

并检查错误