使用WordPress更新查询时URL更新出现问题

时间:2016-11-03 作者:user6891871

我已经在wordpress现有数据库中创建了一个表,并在其中插入了url。现在,我已经使用更新查询来更新url。

插入和更新查询如下。。

if(isset($_POST))
{
    $x=$_POST[\'url\'];   
    global $wpdb;
    $wpdb->insert(\'wp_xml_url\', array(
        \'url\' => $x,
        \'update_date\' => current_time(\'mysql\', 1),
));
}
以及

$x=$_POST[\'url\'];
global $wpdb;
$wpdb->update( 
\'xml_url\', 
array( 
    \'url\' => $x,    
    \'update_date\' =>  current_time(\'mysql\',1)    
), 
array( \'url\' => $x ), 
array( 
    \'%s\',   
    \'%s\'    
), 
array( \'%s\' ) 
); 
现在我想知道,当我们在数据库中插入相同的url时,它会用相同的url和不同的日期和时间更新url。为此,我使用了如下检查条件。。

    $name=xmlfeeds_select();
    $url=$_POST[\'url\'];
    $url1=parse_url($name);
    $url2=parse_url($url);
    if($name == $url)
    {
        xmlfeeds_update();

    }
        xmlfeeds_insert();
但这种情况对我不起作用。检查url值是否有其他条件?因为在任何情况下,它都是在数据库中插入url,而不是更新它,即使它相同或不同。

任何帮助都将不胜感激。

提前感谢。。。

1 个回复
SO网友:Sebastian Kaczmarek

尝试使用$wpdb->replace(); 方法它会更新一行(如果存在),并插入一行(如果不存在)。请参阅documentation. 这就是你要找的吗?