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,它更像是一个“最佳实践”问题,而不是“它会起作用吗”问题