カスタムデータベーステーブルの行を$wpdb->update();
で更新しようとしています。私の意見では私のコードは正しいのですが、何らかの理由で私のデータベースの行が更新されません。
誰かが私をこれで手伝ってくれる?
Wp_mollie_transactionsテーブルの取引のステータスを更新したいのですが、ここでtransaction_id
は私の支払いプロバイダから受け取った$order_id
です。
(もちろん、このファイルで$wpdb
をグローバルにしました)
// Update database
$wpdb->update( $wpdb->prefix . 'mollie_transactions',
array(
'status' => $payment->status
),
array(
'transaction_id' => $order_id
)
);
データベースに書き込もうとする前に、常にで値を検証します。
$fValid = true;
if ( !isset( $payment->status ) ) {
echo 'Error: Payment status is not set';
$fValid = false;
}
if ( !isset( $order_id ) ) {
echo 'Error: Order ID is not set';
$fValid = false;
}
if ( $fValid ) {
// Update database
$fSuccess = $wpdb->update( $wpdb->prefix . 'mollie_transactions',
array(
'status' => $payment->status
),
array(
'transaction_id' => $order_id
)
);
echo sprintf( 'Update %s where Payment Status was %s and Transaction ID was %s', $fSuccess? 'Succeeded':'Failed', $payment->status, $order_id );
}
乾杯。