前提・実現したいこと
API処理でワードプレスにphpMyAdminからpostsに記事データと画像データ(サムネイル)用で別々にinsert処理をしてサムネイル表示をしています。
ここに質問の内容を詳しく書いてください。
|ID|post_parent|guid |post_type |post_mime_type| |696 | | |post | |←記事データ |697 | 696 |画像URL|attachment|image/Jpeg |←画像データ |698 | | |post | |←記事データ |700 | | |post | |←記事データ
ID(仮)で699番と701番の画像データのinsertが欲しいですが処理が分かりません。
コードは以下のように記載しています。
for($i=0; $i<="$hits"-1; $i++){ $sql0 = $pdo->prepare('insert ignore into wpho_posts(post_author,post_date,post_date_gmt,post_content,post_title,post_name)values(:post_author,:post_date,:post_date_gmt,:post_content,:post_title,:post_name)'); $sql1 = $pdo->prepare('insert into wpho_posts(post_author,post_parent,guid,post_type,post_mime_type)values(:post_author,:post_parent,:guid,:post_type,:post_mime_type)'); $sql2 = $pdo->prepare('insert into wpho_postmeta(post_id,meta_key,meta_value)values(:post_id,:meta_key,:meta_value)'); $sql3 = $pdo->prepare('insert into wpho_postmeta(post_id,meta_key,meta_value)values(:post_id,:meta_key,:meta_value)'); $sql4 = $pdo->prepare('insert into wpho_postmeta(post_id,meta_key,meta_value)values(:post_id,:meta_key,:meta_value)'); $sql0->bindValue(':post_author',1,PDO::PARAM_STR); $sql0->bindValue(':post_date',date("Y/m/d"),PDO::PARAM_STR); $sql0->bindValue(':post_date_gmt',date("Y/m/d"),PDO::PARAM_STR); $sql0->bindValue(':post_content',"<div> <a href=$affi_link[$i]><img src =$gazo[$i]></a><BR> </div>",PDO::PARAM_STR); $sql0->bindValue(':post_title',$title[$i],PDO::PARAM_STR); $sql0->bindValue(':post_name',$content_id[$i],PDO::PARAM_STR); $sql0 -> execute(); $post_id_1[$i] = $pdo->lastInsertId(); $sql1->bindValue(':post_author',1,PDO::PARAM_STR); $sql1->bindValue(':post_parent',$post_id_1[$i],PDO::PARAM_STR); $sql1->bindValue(':guid',"URL/$filename[$i]",PDO::PARAM_STR); $sql1->bindValue(':post_type','attachment',PDO::PARAM_STR); $sql1->bindValue(':post_mime_type','image/jpeg',PDO::PARAM_STR); $sql1-> execute(); $media_id[$i] = $pdo->lastInsertId(); $sql2 ->bindValue(':post_id',$media_id[$i],PDO::PARAM_STR); $sql2 ->bindValue(':meta_key',"_wp_attached_file",PDO::PARAM_STR); $sql2 ->bindValue(':meta_value',"URL/$filename[$i]",PDO::PARAM_STR); $sql2 -> execute(); $sql3 ->bindValue(':post_id',$post_id_1[$i],PDO::PARAM_STR); $sql3 ->bindValue(':meta_key',"_thumbnail_id",PDO::PARAM_STR); $sql3 ->bindValue(':meta_value',$media_id[$i],PDO::PARAM_STR); $sql3 -> execute(); $sql4 ->bindValue(':post_id',$post_id_1[$i],PDO::PARAM_STR); $sql4 ->bindValue(':meta_key',"_wp_page_template",PDO::PARAM_STR); $sql4 ->bindValue(':meta_value',"default",PDO::PARAM_STR); $sql4 -> execute(); }
sql1の部分だけがループ処理できずsql3以降は問題なくループ処理ができます。
sql1だけ一回の結果のみが格納されてそれ以降は全く反応しない状況になります。
一度、うまくできたのですがコードのコピーを取り忘れてしまい現状に至っております。
基本書やネットで確認しましたが申し訳ございませんがご教示頂けると幸いです。
回答1件
あなたの回答
tips
プレビュー