我正在寻找正确设置此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 (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"
如果有此标准,我想知道它是什么
我尚未找到有关SQL的任何标准,但我更喜欢:
$query =
"INSERT INTO Items (
`ItemName`,
`TypeID`,
`StoreID`,
`CondID`,
`StatusID`,
`PuPrice`,
`PuDate`,
`SaPrice`,
`SaDate`,
`ShCost`,
`ShCharged`
)
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
;"
请注意,如果您在列名中使用保留字,将会省去您的费用(不建议使用保留字,但是使用backtick,一切都会正常进行)
对于列名,您可以考虑不使用CapitalSeparator,而是使用下划线,因此使用ItemName-> item_name,但是如果您已经将列名定义为表,则不会更改列名的大小写]
[从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();