duanqiongchong0354 2015-05-19 20:59
浏览 44
已采纳

PDO - PHP致命错误:在[关闭]中的非对象上调用成员函数execute()

I'm working on this small project and I can't move on. PDO is working perfectly in other queries, no problem there - I hope. I've checked the site and the previously asked questions did not help me

this is my code:

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();
}

this is the 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) )

so by the looks it's a PDOStatement object

I also tried to see if I have some variable error in the array so I also did an print_r on the execute array:

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

The names of the columns I've checked and double checked. I also tried removing the ON DUPLICATE KEY UPDATE, but with the same effect.

As I said before other queries work perfectly (example):

$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
                            ));
  • 写回答

1条回答 默认 最新

  • dsjuimtq920056 2015-05-19 21:03
    关注

    Spot the difference:

    $stmt_dataliiParinte = $db->prepare(' ... snip ...');
           ^
    $stmt_detaliiParinte->execute(array( ... snip ...));
           ^
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!