gpt4 book ai didi

PHP 警告:PDOStatement::execute(): SQLSTATE[HY093]: 参数号无效:未绑定(bind)任何参数

转载 作者:太空宇宙 更新时间:2023-11-03 10:44:13 25 4
gpt4 key购买 nike

我使用PDO来执行sql

"INSERT INTO zhushou_cost_uid
(uid,imei,wmac,imsi,channel,supplier,uuid,brand,device_model,os,os_version,app_version,promotion_method,log_source,takeup_date)
VALUES
('863207010118070','863207010118070','02037ff459cb','460025323359694','sc-hjcx_ins_cgq','','�ܟ*c�1�]�y�.���#���h���!�o ��z�!Y�~��t8�KOd�xd]���sm����n%$����H����[?�p���M����','KINGSUN','KINGSUN S6','Android','4.1.2','3.2','','1','2015-11-29 03:21:21')",

PHP代码:

$db = $this->getWritableDB();
$stmt = $db->prepare($sql);
$exec = $stmt->execute();

uuid的数据是脏数据,在我们的日志中是

"uuid":"�ܟ*c�1�]�y�.���#��\u0015�h\u001a���!\u001c�\u0013o �\u0013�z�\u0000!Y�~��t8�KOd�xd]�\u0001��sm\u0016����\u0001n\u0013%$����H����[\u0003?�p���M��\u001a��"

我得到了结果

SQLSTATE[HY093]: Invalid parameter number: no parameters were bound.

当我尝试将sql复制到终结器上时,退出mysql登录状态。我认为uuid有问题。但我想不通。谁能帮我?非常感谢!

enter image description here

最佳答案

$stmt = $db->prepare($sql);

由于您正在准备您的陈述,如果其中有任何可以解释为问号或冒号的内容,它将被视为占位符,然后您需要传递值在 execute 步骤中执行。由于这实际上不是您想要的,如果您不打算在语句中包含占位符,请不要准备语句。而是:

$db->exec($sql);

话虽如此,您在 $sql 中传递完整格式的 SQL 查询还是值得怀疑的;也许您应该重写这整个事情,这样您的查询中就有实际的占位符并将实际值分别传递给execute

关于PHP 警告:PDOStatement::execute(): SQLSTATE[HY093]: 参数号无效:未绑定(bind)任何参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34151155/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com