以下是一个例子:
if($stmt = $mysqli -> prepare("
INSERT INTO
jos_virtuemart_product_categories
(
virtuemart_product_id,
virtuemart_category_id,
ordering
)
VALUES
(
?,
?,
0
)"))
{
/* Bind parameters
s - string, b - blob, i - int, etc */
$stmt -> bind_param("ii", $pid, $productcategory);
/* Execute it */
$stmt -> execute();
/* Bind results */
$stmt -> bind_result($result);
/* Fetch the value */
$stmt -> fetch();
/* Close statement */
$stmt -> close();
}
现在,如果你查看我的一个插入,我直接插入0,而不是通过prepare语句传递它。
这是可行的吗?我问的原因是因为我有TON字段的语句,其中所有行的许多字段完全相同,但只有两三个不同,我从循环中得到结果集。
由于
答案 0 :(得分:1)
如果所有插入的内容相同,则可以在查询中对其进行硬编码 - 无需使用无用的代码填充代码。更干净,更好 - 对吧?
此外,您可以更改字段以使这些值为DEFAULT值 - 这样就无需将它们放入查询中。