如何将PHP Prepared Statement参数设置为mysql函数return的输出

时间:2018-11-03 12:15:31

标签: php mysqli prepared-statement

在下面的示例中,第三个参数是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."))";

1 个答案:

答案 0 :(得分:1)

您可以在查询中使用generateProductCode函数调用,并像往常一样使用?标记来提供参数。

$sql = "INSERT INTO product(a, b, c) as ( ?, ?, generateProductCode(?));"
$params = [$obj->a, $obj->b , $obj->a];