gpt4 book ai didi

php - PDO数组插入值的顺序有限制吗?

转载 作者:行者123 更新时间:2023-12-02 15:36:21 25 4
gpt4 key购买 nike

我正在将现有的数据存储 php 代码从 mysql_* 函数更改为 PDO,并将其从过程编程更改为 OOB 编程。当我注意到一些东西时,我正在更新 SQL 语句,这已经进入了重写过程。

我正在为多个表 INSERTUPDATE 查询设置一个数组,因为我正在定义一个数组作为绑定(bind)值,我注意到 UPDATEINSERT,调用绑定(bind)值的顺序 会有所不同,这里是一个简短的示例:

$bound_values = array(
':column_aa' => 'aa',
':column_ab' => 'ab',
':column_ac' => 'ac'
)
);

INSERT 的示例 sql:

INSERT INTO `table_a` 
(`id`, `column_aa`, `column_ab`, `column_ac`)
VALUES
('', :column_aa, :column_ab, :column_ac);

更新:

UPDATE `table_a` SET 
`column_ab` = :column_ab, `column_ac` = :column_ac, `column_aa` = :column_aa;

示例 PHP PDO:

$pdo = new PDO('mysql:host=localhost;dbname=example', 'root', '');
// The second parameter of the PDO cursor is what I saw that raised the flag
$sth = $pdo->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));
$sth->execute($boud_values);

所以我的问题是,我是否可以继续使用此方法而不会出现 SQL 语句相对于 $bound_values 数组的顺序问题,或者我是否担心和需要做一些改变?

请注意,我正在使用的现有代码远不像我上面显示的 SQL 语句那么简单。

最佳答案

使用命名占位符 (:col_name),您可以按任何顺序放置它们。但是,使用位置占位符 (?) - 您需要按顺序排列它们。

关于php - PDO数组插入值的顺序有限制吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16865303/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com