php - PDO - PHP fatal error : Call to a member function execute() on a non-object in

标签 php mysql pdo

<分区>

我正在做这个小项目,我不能继续了。 PDO 在其他查询中运行良好,没问题 - 我希望如此。 我检查了该网站,之前提出的问题对我没有帮助

这是我的代码:

try { //Step 1
$stmt_dataliiParinte = $db->prepare('INSERT INTO parintei (numeParinte, prenumeParinte, adresaParinte, localitateParinte, codpostalParinte, telefonParinte, mobilParinte, emailParinte, profesiaParinte, locmuncaParinte) VALUES (:numeParinte, :prenumeParinte, :adresaParinte, :localitateParinte, :codpostalParinte, :telefonParinte, :mobilParinte, :emailParinte, :profesiaParinte, :locmuncaParinte) ON DUPLICATE KEY UPDATE emailParinte=VALUES(:emailParinte)');
print_r($stmt_dataliiParinte);
$stmt_detaliiParinte->execute(array(
    ':numeParinte' => $numeParinte,
    ':prenumeParinte' => $prenumeParinte,
    ':adresaParinte' => $adresaParinte,
    ':localitateParinte' => $localitateParinte,
    ':codpostalParinte' => $codpostalParinte,
    ':telefonParinte' => $phoneNumber,
    ':mobilParinte' => $phoneNumber2,
    ':emailParinte' => $emailParinte,
    ':profesiaParinte' => $profesiaParinte,
    ':locmuncaParinte' => $locmuncaParinte
));
$parinteID = $db->lastInsertId();
} catch(PDOException $e) {
    $e->getMessage();
}

这是 print_r($stmt_dataliiParinte):

PDOStatement Object ( [queryString] => INSERT INTO parintei (numeParinte, prenumeParinte, adresaParinte, localitateParinte, codpostalParinte, telefonParinte, mobilParinte, emailParinte, profesiaParinte, locmuncaParinte) VALUES (:numeParinte, :prenumeParinte, :adresaParinte, :localitateParinte, :codpostalParinte, :telefonParinte, :mobilParinte, :emailParinte, :profesiaParinte, :locmuncaParinte) ON DUPLICATE KEY UPDATE emailParinte=VALUES(:emailParinte) )

所以看起来它是一个 PDOStatement 对象

我还试图查看数组中是否有一些变量错误,所以我还在执行数组上做了一个 print_r:

Array ( [:numeParinte] => dasda [:prenumeParinte] => dasdas [:adresaParinte] => dasdasd [:localitateParinte] => asdas [:codpostalParinte] => 23232 [:telefonParinte] => 1231231231231 [:mobilParinte] => 123123123123123 [:emailParinte] => x@x.com [:profesiaParinte] => asd [:locmuncaParinte] => dasdasdasd )

我已经检查并仔细检查过的列的名称。 我也尝试删除 ON DUPLICATE KEY UPDATE,但效果相同。

正如我在其他查询之前所说的那样(示例):

$stmt = $db->prepare('INSERT INTO tabere (dentabara,locatie,datastart,dataend,desctabara,pageID,tip,pret) VALUES (:dentabara, :locatie, :datastart, :dataend, :desctabara, :pageID, :tip, :pret)') ;
                            $stmt->execute(array(
                                ':dentabara' => $dentabara,
                                ':locatie' => $locatie,
                                ':datastart' => $datastart,
                                ':dataend' => $dataend,
                                ':desctabara' => $desctabara,
                                ':pageID' => $paginaTabara,
                                ':tip' => $tip,
                                ':pret' => $pret
                            ));

最佳答案

找出不同之处:

$stmt_dataliiParinte = $db->prepare(' ... snip ...');
       ^
$stmt_detaliiParinte->execute(array( ... snip ...));
       ^

关于php - PDO - PHP fatal error : Call to a member function execute() on a non-object in,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30336049/

相关文章:

php - 处理 PHP 复选框时出现问题,代码可与 INSERT 配合使用,但在使用 UPDATE 时出现语法错误

php - 如何使用PDO取数据

PHP:echo 命令未关闭

php - 删除行php mysql动态链接

mysql - MySQL 中的反透视表

php - 在 PHP 中,我应该使用今天的日期函数还是 MySQL 中的 curdate()?

MySQL 远程连接失败,出现 "unknown authentication method"

PHP PDO 尝试在登录时更改导航栏

php - 使用命名空间 (PHP) 的 TDD - 找不到类

php - 通过 MySQL 查询按 WordPress 用户显示名称获取帖子