mysql pdo 尝试将列设置为 uuid() 的值 returns "Invalid parameter number: number of bound variables does not match number of tokens"
mysql pdo trying to set column to value of uuid() returns "Invalid parameter number: number of bound variables does not match number of tokens"
我已经构建了 mysql PDO 语句用于插入,如下所示:
insert into user (id_user, email, password, name, uuid) values (:id_user, :email, :password, :name, uuid() )
注意:最后一个uuid()没有冒号,因为我需要Mysql在插入时执行函数。
这个returns我异常:
SQLSTATE[HY093]: Invalid parameter number: number of bound variables
does not match number of tokens
如何使用 PDO 传递内部 mysql 函数 "uuid()"
?
谢谢
占位符不是 INSERT 查询语法的一部分,正如您可能认为的那样。
SQL 语法,当使用 PDO 准备语句时,保持完全相同。 而占位符只能用于表示外部数据。
因此,只要您的 SQL 查询中有 四个 个占位符,您就必须准确绑定 四个 个变量到您的 PDO 声明。
虽然任何内部函数您都不必 "pass" 在任何地方或绑定它。它已经存在,并且与任何 PDO 代码无关。
我已经构建了 mysql PDO 语句用于插入,如下所示:
insert into user (id_user, email, password, name, uuid) values (:id_user, :email, :password, :name, uuid() )
注意:最后一个uuid()没有冒号,因为我需要Mysql在插入时执行函数。
这个returns我异常:
SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens
如何使用 PDO 传递内部 mysql 函数 "uuid()"
?
谢谢
占位符不是 INSERT 查询语法的一部分,正如您可能认为的那样。
SQL 语法,当使用 PDO 准备语句时,保持完全相同。 而占位符只能用于表示外部数据。
因此,只要您的 SQL 查询中有 四个 个占位符,您就必须准确绑定 四个 个变量到您的 PDO 声明。
虽然任何内部函数您都不必 "pass" 在任何地方或绑定它。它已经存在,并且与任何 PDO 代码无关。