$wpdb Mysql trigger problem

时间:2016-10-03 作者:mesumosu

这是这个问题的延伸:SO

我想在Wordpress插件中实现@Shadow提供的mysql触发器。查询=触发器为

$sql_trigger = "
drop trigger if exists bi_tbl_B $$
delimiter $$

create trigger bi_tbl_B before insert on tbl_B
for each row begin
   DECLARE v_slug as varchar(255);
   DECLARE v_url as text;
   SELECT url, slug INTO v_url, v_slug FROM tbl_A WHERE id = NEW.id;
   NEW.url=v_url;
   NEW.slug=v_slug;
end;
$$

delimiter ;
";

mysqli_multi_query($wpdb->dbh,$sql_trigger); 
我有几个问题:

1) 此查询是否正确,或者我需要进行更改?

2) 我必须用这个吗

global $wpdb;

$mysqli = new mysqli();
$mysqli->connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
3)查询是否安全?

1 个回复
最合适的回答,由SO网友:Mark Kaplun 整理而成

不知道是的,使用$wpdb只要小心您要做的事情,就好像您有对象缓存,并且您创建的数据是由wordpress API读取的一样,最终可能会导致缓存和数据库不匹配。