如何将 PHP Prepared Statement 参数设置为 mysql 函数 return 的输出
How to set PHP Prepared Statement param to output of mysql function return
在下面的示例中,第 3 个参数是 MySQL 函数
generateProductCode(".$obj->a.")
是函数,在 MySQL 中执行后将返回字符串作为输出。执行后如何将MySQL函数输出绑定为准备好的语句中的参数?
$sql = "INSERT INTO product(`a`, `b`, `c`) as ( ?, ?, ?);"
$types = "ids";
$params = [$obj->a, $obj->b , "generateProductCode(".$obj->a.")"];
我知道,我们可以通过 运行 SQL 单独完成。
使用下面的正常 sql 查询查询有效
"INSERT INTO product(`a`, `b`, `c`) as (".$obj->a.",".$obj->b.",generateProductCode(".$obj->a."))";
您在查询中使用 generateProductCode
函数调用,并像往常一样使用 ?
标记提供参数。
$sql = "INSERT INTO product(a, b, c) as ( ?, ?, generateProductCode(?));"
$params = [$obj->a, $obj->b , $obj->a];
在下面的示例中,第 3 个参数是 MySQL 函数
generateProductCode(".$obj->a.")
是函数,在 MySQL 中执行后将返回字符串作为输出。执行后如何将MySQL函数输出绑定为准备好的语句中的参数?
$sql = "INSERT INTO product(`a`, `b`, `c`) as ( ?, ?, ?);"
$types = "ids";
$params = [$obj->a, $obj->b , "generateProductCode(".$obj->a.")"];
我知道,我们可以通过 运行 SQL 单独完成。 使用下面的正常 sql 查询查询有效
"INSERT INTO product(`a`, `b`, `c`) as (".$obj->a.",".$obj->b.",generateProductCode(".$obj->a."))";
您在查询中使用 generateProductCode
函数调用,并像往常一样使用 ?
标记提供参数。
$sql = "INSERT INTO product(a, b, c) as ( ?, ?, generateProductCode(?));"
$params = [$obj->a, $obj->b , $obj->a];