【问题标题】:How can I fetch data from database using this prepare statement如何使用此准备语句从数据库中获取数据
【发布时间】:2016-07-05 06:59:48
【问题描述】:
//this is my connection function. It is connecting databse successfully when I check.
$conn = connection($config['servername'],$config['username'],$config['password']);

在此之后我使用以下代码从数据库中获取数据

$id = 2;
if($conn) {

    try {

        $stmt = $conn->prepare('SELECT * FROM customer_tbl WHERE cus_id = :id');
        $stmt->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

        $stmt->bindParam(':id', $id);

        $results = $stmt->execute();

    }catch (PDOException $e){

        echo 'Error: ' . $e->getMessage();
    }

}

此代码在浏览器上显示以下错误消息

错误:SQLSTATE[IM001]:驱动不支持此功能:此驱动不支持设置属性

我的代码有什么问题?为什么我无法从数据库中获取数据?

如果我想使用 prepare 语句从数据库中获取这个指定的数据 如何编码?

【问题讨论】:

  • 我很确定错误模式不是语句的属性,而是连接的属性。

标签: php mysql pdo


【解决方案1】:

添加以下内容

$stmt->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$connObject的连接字符串之后

$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

要获取数据使用

$stmt->execute();    
$rows= $stmt->fetch(PDO::FETCH_ASSOC);
print_r($rows); // to print an array

它将以关联数组格式返回数据。 PDO 提供多种获取选项look here

【讨论】:

  • ok now 错误信息已被删除,在此之后如何将数据获取到浏览器
  • 这是我以前用过的,但我得到了Call to a member function fetch() on a non-object in的致命错误
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多