Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wordpress-insert as prepared query vs$wpdb->insert\u id_Wordpress_Insert_Prepared Statement - Fatal编程技术网

Wordpress-insert as prepared query vs$wpdb->insert\u id

Wordpress-insert as prepared query vs$wpdb->insert\u id,wordpress,insert,prepared-statement,Wordpress,Insert,Prepared Statement,我创建了一个简单的插件。它在后端有一个配置站点和一些用于用户站点的功能。我需要将一些用户选择保存到数据库中。一开始我使用了$wpdb->insert和$wpdb->update方法,但在阅读之后,我想将其更改为$wpdb->query$wpdb->prepare 但是,在没有新的select查询的情况下,如何获取刚刚插入的行的id呢?如果我使用$wpdb->insert,我在$wpdb->insert\u id中有这个id,但是如果我使用$wpdb->query,这个字段是空的…使用$wpdb-

我创建了一个简单的插件。它在后端有一个配置站点和一些用于用户站点的功能。我需要将一些用户选择保存到数据库中。一开始我使用了$wpdb->insert和$wpdb->update方法,但在阅读之后,我想将其更改为$wpdb->query$wpdb->prepare


但是,在没有新的select查询的情况下,如何获取刚刚插入的行的id呢?如果我使用$wpdb->insert,我在$wpdb->insert\u id中有这个id,但是如果我使用$wpdb->query,这个字段是空的…

使用$wpdb->insert和$wpdb->update,你就隐式地使用了$wpdb->prepare函数及其保护

例如,WordPress$wpdb->update函数在最后两行中有:

$sql = "UPDATE `$table` SET " . implode( ', ', $bits ) . ' WHERE ' . implode( ' AND ', $wheres );
return $this->query( $this->prepare( $sql, array_merge( array_values( $data ), array_values( $where ) ) ) );
因此,为了获得插入的ID并得到保护,我建议您使用$wpdb->insert