我正在尝试将其他网站的数据添加到我的Wordpress网站。为此,我创建了一个插件。在这个插件中,我可以从我的其他网站获取数据,但我不能和我的Wordpress网站。以下是我的代码。
$mysqlis=mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
$slug = str_replace(" ","-",$value);
$checkdublicate = $mysqlis->query("SELECT * FROM `temp_wp_terms` WHERE `slug` = '.$slug.' AND `name`='.$value.'");
if ($checkdublicate->num_rows == "0")
{
if ($value != "." && $value != "..")
{
$query = "INSERT INTO `temp_wp_terms`(`name`, `slug`, `term_group`) VALUES ('.$value.', '.$slug.', '0')";
$mysqlis->query($query);
if(!$mysqlis)
{
echo "Error in insert";
}
}
else
{
mylog("173 insert failed NoRow: " .print_r($checkdublicate->num_rows,TRUE));
}
}
$mysqlis->close();
请给我任何解决方案。谢谢
答案 0 :(得分:0)
如果您使用的是插件,则应使用全局$ wpdb对象而不是mysqli。 $ wpdb提供了一种准备自定义查询的方法,并自动使用wordpress配置文件中的数据库凭据。
尝试类似这样的事情(如果你设置了适当的索引,替换查询将避免重复。):
global $wpdb;
$query = $wpdb->prepare( "REPLACE INTO `temp_wp_terms`(`name`, `slug`, `term_group`) VALUES (%s, %s, %d)", $value, $slug, 0 );
$wpdb->query( $query )