前提・実現したいこと
トランザクションを使用してデータベース更新するシステムを作成したいのですが、ロールバックしかしてくれません。
間違いや抜けがあるでしょうか?
ご存知の方ご教授お願いします。
発生している問題・エラーメッセージ
必ずロールバックが実行される。
該当のソースコード
sql
1global $wpdb; 2 3$wpdb->query("START TRANSACTION") 4$posts_title = 'aaa'; 5$move_users = (a,b,c,d); 6 7 for ($i = 0; $i < count($move_users); $i++) { 8 9 $query = " 10 INSERT INTO $wpdb->test_master 11 (posts_title, user_login) 12 VALUES (%s , %s) 13 "; 14 15 $result_insert = $wpdb->query( 16 $wpdb->prepare($query , $posts_title , $move_users[$i])); 17 18 if ($result_insert === false){ 19 break; 20 } 21 } 22 23 if( $result_delete === true && $result_insert === true){ 24 $wpdb->query('COMMIT'); 25 print_r ('成功'); 26 27 }else{ 28 29 $wpdb->query('ROLLBACK'); 30 print_r ('失敗'); 31 32 }
試したこと
決め打ちでphpMyAdminで実行したらうまく行きました。
WPの仕様になってない?
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/01/18 05:42
2020/01/18 05:53