大型mysqli INSERT语句的正确编码样式[保留]

问题描述 投票:-1回答:2

我正在寻找正确设置此mysqli INSERT语句样式的选项

我找不到有关mysqli样式的任何在线帮助或指南。

//Option 1
$query = "INSERT INTO Items (ItemName,TypeID,StoreID,CondID,StatusID,PuPrice,
                             PuDate,SaPrice, SaDate,ShCost,ShCharged)
          VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"

//Option 2
$query = "INSERT INTO Items 
          (ItemName,TypeID,StoreID,CondID,StatusID,PuPrice,
           PuDate,SaPrice, SaDate,ShCost,ShCharged)
          VALUES 
          (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"

//Option 3
$query = "INSERT INTO Items 
            (ItemName,TypeID,StoreID,CondID,StatusID,PuPrice,
             PuDate,SaPrice, SaDate,ShCost,ShCharged)
          VALUES 
            (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"


//Option 4
$query = "INSERT INTO Items (ItemName,TypeID,StoreID,CondID,StatusID,PuPrice,
          PuDate,SaPrice, SaDate,ShCost,ShCharged)
          VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"

如果有此标准,我想知道它是什么

php mysqli multiline
2个回答
-1
投票

我尚未找到有关SQL的任何标准,但我更喜欢:

$query =
"INSERT INTO Items (
    `ItemName`,
    `TypeID`,
    `StoreID`,
    `CondID`,
    `StatusID`,
    `PuPrice`,
    `PuDate`,
    `SaPrice`,
    `SaDate`,
    `ShCost`,
    `ShCharged`
)
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
;"

请注意,如果您在列名中使用保留字,将会省去您的费用(不建议使用保留字,但是使用backtick,一切都会正常进行)

对于列名,您可以考虑不使用CapitalSeparator,而是使用下划线,因此使用ItemName-> item_name,但是如果您已经将列名定义为表,则不会更改列名的大小写]


-2
投票

[从php manual使用像这样

$query = $db_con->prepare("INSERT INTO Items (ItemName,TypeID,StoreID,CondID,StatusID,PuPrice,PuDate,SaPrice, SaDate,ShCost,ShCharged) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");

然后绑定相同数量的参数,如下所示

$query->bindParam(':ItemName', $ItemName);
$query->bindParam(':TypeID', $TypeID);  
and so on...

然后执行查询

$query->execute();
© www.soinside.com 2019 - 2024. All rights reserved.