我是否需要在WordPress语句(查询)中使用array('%s','%s')或已淘汰?

时间:2019-11-25 10:15:19

标签: php mysql wordpress

请原谅我的无知,我一直在学习如何开发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')指定一个字符串(是一种绑定值以防止注入?)还是可以跳过它。其次,两个查询之间有什么区别吗?第二个错了吗?

谢谢。

1 个答案:

答案 0 :(得分:1)

首先,我的问题是我是否需要用array('%s')指定一个字符串(是一种绑定值以防止注入?)还是可以跳过它。 / strong>

两种语法都可以避免使用array(array('%s'))格式。它是查询的可选参数。您可以从以下链接中找到它:

1)WPDB Insert

2)WPDB Update

第二,两个查询之间是否有区别?第二个错了吗?

对于第二个问题,您的第一个查询将数据插入数据库,而第二个更新数据则插入数据库中的所有行。如果要更新表中的所有数据,在这里可以避免使用where参数。