1

好的...我现在又遇到了一个 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 为空白。当然,我可以将所有“%”更改为“百分比”,但该分辨率是不可接受的!;)

4

1 回答 1

2

%必须用百分比转义,所以用双百分比替换单个百分比$text$text = str_replace('%', '%%', $text)

于 2012-11-16T15:54:09.503 回答