PHP MySQLi准备好的语句-我应该包括所有字段吗?
以下是一个例子:PHP MySQLi准备好的语句-我应该包括所有字段吗?,php,mysql,mysqli,Php,Mysql,Mysqli,以下是一个例子: if($stmt = $mysqli -> prepare(" INSERT INTO jos_virtuemart_product_categories ( virtuemart_product_id, virtuemart_category_id, ordering ) VALUES ( ?, ?, 0 )"))
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语句传递它
这可行吗?我问的原因是因为我有大量字段的语句,其中许多字段对于所有行都完全相同,但可能只有两个或三个字段不同,这是通过结果集的循环得到的
谢谢如果所有插入都是相同的,您可以在查询中保留它们的硬编码-无需让代码中充满无用的东西。越干净越好,对吗
此外,您可以更改字段,使这些值成为默认值,这样就不需要将它们放入查询中。什么是可行的?试一试,看看什么是happensIt,它更像是一个“最佳实践”问题,而不是“它会起作用吗”问题