mysql_real_escape_string()函数在wordpress WP_Query中不起作用?

时间:2018-03-22 06:49:38

标签: php mysql wordpress mysql-real-escape-string

我们尝试过这种方式。但它没有用。请任何人在wordpress中告诉替代方法

$wpdb->query("UPDATE ".$wpdb->prefix."recommend_bets SET `title`='".mysqli_real_escape_string($title)."',`category`='".$catID."',....

2 个答案:

答案 0 :(得分:2)

在WordPress中使用数据库时,不应使用低杠杆mysql_ *或mysqli_ *函数。

始终使用$ wpdb方法,在您的情况下,您应该使用prepare()

<?php
$wpdb->query( $wpdb->prepare( 
    "UPDATE ".$wpdb->prefix."recommend_bets
SET title = %s,
titleb = %s
WHERE ID = %d       
",
    'static', 'static2', 7
) );

// Or

$wpdb->update( 
    'table', 
    array( 
        'column1' => 'value1',  // string
        'column2' => 'value2'   // integer (number) 
    ), 
    array( 'ID' => 1 ), 
    array( 
        '%s',   // value1
        '%d'    // value2
    ), 
    array( '%d' ) 
);
?>

答案 1 :(得分:0)

您可以使用wpdb::_real_escape( string $string )功能。

https://developer.wordpress.org/reference/classes/wpdb/_real_escape/