【问题标题】:PHP PDO fatal error while connecting MySQL database连接 MySQL 数据库时出现 PHP PDO 致命错误
【发布时间】:2013-10-09 18:59:05
【问题描述】:

当我使用 PDO 连接并从 MySQL 检索一些输出时,出现以下致命错误

致命错误:在非对象上调用成员函数 prepare() /home/ ... 第 21 行

我的 PHP 代码:

$dbConnection = new PDO('mysql:dbname=abc;host=127.0.0.1;charset=utf8', 'abc','abc');
$dbConnection->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$dbConnection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $pdo->prepare('SELECT current_date()'); //line 21
$stmt->execute();

【问题讨论】:

  • 您没有阅读“您的”代码(从某处复制?)所以您有错误。
  • 是的...我认为“新 PDO”已成为 $pdo :(
  • @ElonThan:你能告诉我如何读取行值吗?是 $row[0] 吗?
  • 不,我不能。在尝试在其中编写代码之前先去学习 PHP。
  • 这是预期的!但我在php.net/manual/en/ref.pdo-mysql.php 上找不到足够的细节...

标签: php mysql pdo


【解决方案1】:

改变这一行:

$stmt = $pdo->prepare('SELECT current_date()'); //line 21

收件人:

$stmt = $dbConnection->prepare('SELECT current_date()'); //line 21

因为这里没有定义$pdo,而是$dbConnection

【讨论】:

  • 你能告诉我如何读取行值吗?是 $row[0] 吗?
【解决方案2】:

尝试将第 4 行更改为

$stmt= $dbConnection->prepare...

【讨论】:

    猜你喜欢
    • 2016-07-09
    • 2021-12-06
    • 2017-09-25
    • 1970-01-01
    • 2012-01-24
    • 2014-06-10
    • 2019-10-09
    • 1970-01-01
    • 2015-04-23
    相关资源
    最近更新 更多