gpt4 book ai didi

php - PDOStatement执行SQLSTATE参数个数无效

转载 作者:行者123 更新时间:2023-11-29 13:10:59 25 4
gpt4 key购买 nike

我开始使用 PDO 来支持 PHP/MySQL 中的多数据库,但由于某种原因,一个查询不断生成错误消息:

$account_email = 'test@test.com';

$statement = $pdo->prepare("SELECT id FROM account WHERE account_email = :email");
$statement->execute( array(':email' => $account_email ));

警告:PDOStatement::execute():SQLSTATE[HY093]:参数数量无效:绑定(bind)变量的数量与标记数量不匹配

出于兴趣,我尝试了其他实现它的方法,但它抛出了相同的错误:

$statement = $pdo->prepare("SELECT id FROM account WHERE account_email = ?");
$statement->execute( array( $account_email ));

我做了相当多的研究,显然 PDO 对格式很挑剔。这个查询有什么 PDO 不喜欢的地方吗?间距?

仅供引用:我已经阅读了 StackOverflow 的大部分其他问题。有时人们在数组中有额外的参数,有时是拼写错误,有些语法错误不会产生错误,但仍然会影响参数的数量。在这种情况下,一切看起来都很完美。

最佳答案

您不必传入数组,特别是对于只有一个参数的情况,请尝试以下操作:

$account_email = 'test@test.com';

$statement = $pdo->prepare("SELECT id FROM account WHERE account_email = :email");
$statement->bindParam(':email', $account_email);
$statement->execute();

关于php - PDOStatement执行SQLSTATE参数个数无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22107637/

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