在下面的示例中,第三个参数是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."))";
答案 0 :(得分:1)
您可以在查询中使用generateProductCode
函数调用,并像往常一样使用?
标记来提供参数。
$sql = "INSERT INTO product(a, b, c) as ( ?, ?, generateProductCode(?));"
$params = [$obj->a, $obj->b , $obj->a];