Wordpress准备失败......?

时间:2012-11-16 15:49:58

标签: wordpress wpdb

好的......我现在又遇到了另一个WP问题。

对于我的WP主题,我有一些特别的东西。例如,我有一个包含一些东西的表。

当我插入(在本例中更新)此表时,我使用$ wpdb,如下面的代码:

$sql = $wpdb->prepare("UPDATE $table_name SET
    `title` = '$title',
    `text` = '$text',
    `image` = '$image',
    `thumbnail` = '$thumb',
    `show` = $sql_show,
    `order` = $order,
    `language` = '$language',
    `type` = '$type'

    WHERE `id` = $id 
;");
$wpdb->query($sql);

我也试过这个:

$sql = $wpdb->prepare("UPDATE $table_name SET
    `title` = %s,
    `text` = %s',
    `image` = %s,
    `thumbnail` = %s,
    `show` = %d,
    `order` = %d,
    `language` = %s,
    `type` = %s                
    WHERE `id` = $id 
;", $title, $text, $image, $thumb, $show, $order, $language, $type);

当$ text包含“%”时,它们都有效。如果它包含这个,$ sql为空。我可以将所有“%”改为“百分比”,但该分辨率是不可接受的! ;)

1 个答案:

答案 0 :(得分:2)

%必须使用百分比进行转义,因此请使用$text中的双倍百分比替换单个百分比:$text = str_replace('%', '%%', $text)