PDO -PHP致命错误:致电非对象上的成员函数execute()



我正在从事这个小项目,我无法继续前进。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 )

我检查过的列的名称并进行了仔细检查。我还尝试删除重复的密钥更新,但具有相同的效果。

正如我在其他查询完美工作之前所说的(例如):

$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 ...));
       ^

最新更新