1

快速背景:

  • CRUD 插件
  • 可湿性粉剂 3.5
  • 根据我的个人知识创建这个插件 - 我确定一个已经存在。
  • 变量回显正常。
  • 插件的创建部分需要 3 个小时的研究才能使查询正常工作。尝试了 codex 中的所有内容,从 Stack Overflow 获得了一些答案,直到某些东西奏效。

问题:

  • 更新自定义表中的行。
  • 此查询将在 SQL 中工作 ->

    更新 wp_current_issue SET issue_year=9999, issue_month=29 WHERE issue_id=17;

试过:

global $wpdb;
$wpdb->update(CURRENT_ISSUE_TABLE, 
        array(
            'issue_year' => $issue_year,
            'issue_month' => $issue_month
            ),
        array('issue_id' => $issue_edit_id),
        array('%d','%d'),
        array('%d'));

以及:(列名周围有和没有反引号)

global $wpdb;
$sql = $wpdb->prepare("UPDATE wp_current_issue SET issue_year=".$issue_year.", issue_month=".$issue_month." WHERE issue_id=".$issue_edit_id);

$wpdb->query($sql);

现在有趣的是,我用 INSERT INTO 语句经历了同样的事情。什么都试过了。唯一可行的是:

        global $wpdb;

    $sql = $wpdb->prepare(
        "INSERT INTO `".CURRENT_ISSUE_TABLE."` (`issue_path`,`issue_img_path`,`issue_year`,`issue_month`) VALUES (%s,%s,%d,%d)", $fileName_issue, $fileName_img, $issue_year, $issue_month);

    $wpdb->query($sql);

任何人都知道我如何为更新语句重写此查询?

4

1 回答 1

1

假设我正确理解了您的问题,如果您想将该插入重写到更新中,那么只需使用

$sql = $wpdb->prepare(
"UPDATE `".CURRENT_ISSUE_TABLE."` SET `issue_path` = %s, `issue_img_path` = %s, `issue_year` = %s, `issue_month` = %s
    WHERE issue_id = %i", $fileName_issue, $fileName_img, $issue_year, $issue_month, $issue_edit_id);

其余的都是一样的。

于 2013-02-19T22:50:15.640 回答