1

簡単な背景:

  • CRUD プラグイン
  • WP3.5
  • 私の個人的な知識のためにこのプラグインを作成しています - すでに存在していると確信しています。
  • 変数は正常にエコーアウトします。
  • プラグインの作成部分では、クエリを機能させるために 3 時間の調査が必要でした。コーデックスですべてを試してみました.スタックオーバーフローからのいくつかの答えは、何かがうまくいくまで.

問題:

  • カスタム テーブルの行を更新します。
  • このクエリは SQL で動作します ->

    UPDATE 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 に答える