请原谅我的无知,我一直在学习如何开发WordPress插件,并且正在涉足数据库查询。
同时,我正在开发其中的一种,我发现这种查询语法,实际上是两次相同的概念,以两种不同的方式编写:
$wpdb->insert(
$table_name,
array(
'name' => $name,
'lat' => $lat,
'lng' => $lng,
array('%s', '%s')
);
$wpdb->update(
$table_name,
array(
'name' => $name,
'lat' => $lat,
'lng' => $lng,
array('%s'),
array('%s')
);
首先,我的问题是我是否需要用array('%s')指定一个字符串(是一种绑定值以防止注入?)还是可以跳过它。其次,两个查询之间有什么区别吗?第二个错了吗?
谢谢。
答案 0 :(得分:1)
首先,我的问题是我是否需要用array('%s')指定一个字符串(是一种绑定值以防止注入?)还是可以跳过它。 / strong>
两种语法都可以避免使用array(array('%s'))格式。它是查询的可选参数。您可以从以下链接中找到它:
第二,两个查询之间是否有区别?第二个错了吗?
对于第二个问题,您的第一个查询将数据插入数据库,而第二个更新数据则插入数据库中的所有行。如果要更新表中的所有数据,在这里可以避免使用where参数。