ページを選択

ストブロ

Coffee's Blog.

PHP7.1対応の為、やむなくmysqliへ移行する。

執筆者 | 2017年10月24日 | さくらのレンタルサーバー, ストブロ

ご無沙汰しています、コヒ蔵です。
ちょっと間が空いてしまいましたが、久しぶりの投稿がこれまでと同じような内容という進歩のなさ(笑)

サーバーのPHPのバージョンを5.6(?)から7.1へ変更したところ「mysql」のサポートが終了となりphpからデータベースの情報を取得できなくなってしましました。
何をしていたかというと、当ウェブサイトのトップページ(静的ページですけどindex.php)でwordpressの記事情報を取得、表示する為に直接データベースにアクセスしているのです。

因みに、何でワザワザ小難しい事をやるかと言うと理由があります。

この方法で出来る事
1)複数のwordpressから情報を取得して表示できる。
  例:運用している2つのワードプレスからそれぞれ最新記事を取得し表示。
  あちこち記事を探しましたが、2つのWordpressから情報が読める方法は1記事しか探せませんでした。

2)「wp-load.php」を読み込む必要が無い。
  実はこれが1つのWordpressしか扱えなくなる理由だと思うのですが、外部からWordpressの機能を使用する場合に必要なwp-load.phpを読み込む必要はありません。

この方法で取り出せる情報
1)記事タイトル
2)記事のURL
3)投稿日
4)カテゴリ(複数カテゴリ対応)
取り出そうと思えば原則何でも取り出せるのですが、私が書いている範囲ないはこんな所。

この方法でやっている事
PHPでmysqliを使ってデータベースにアクセスしているだけです。

コードの全容

<?php
/* PHPでデータベースに接続 */

$dbhost = 'ホスト名(例:mysql000.db.sakura.ne.jp)';
$dbuser = 'ユーザー名(例:gonbe)';
$dbpass = 'パスワード(例:password)';
$dbname = 'データベース名(例:inst-db)';
$conn = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname);
mysqli_set_charset($conn, "utf8");

if(! $conn ) {
die('Could not connect: ' . mysqli_error());
}

/* MySQL構文で記事データを指定 */

$sql = '
SELECT ID, post_date, post_title, guid, post_content
FROM 接頭辞posts
WHERE post_status = "publish"
AND post_type = "post"
ORDER BY post_date DESC
LIMIT 5';
$result = mysqli_query($conn, $sql);
?>

<ul class="wp-post">

<?php while ($item = mysqli_fetch_assoc($result)){

/* 基本情報(タイトル、URL、コンテンツ) */
$pid = $item["ID"];
$title = $item["post_title"];
$link = $item["guid"];
$content = $item["post_content"];
$date = $item["post_date"];
$datefix = substr( $date, 0, 10 );

/* カテゴリー情報も取得したい場合 */
$sql_cate = '
SELECT name
FROM 接頭辞term_relationships
INNER JOIN 接頭辞term_taxonomy ON 接頭辞term_relationships.term_taxonomy_id = 接頭辞term_taxonomy.term_taxonomy_id
INNER JOIN 接頭辞terms ON 接頭辞term_taxonomy.term_id = 接頭辞terms.term_id
WHERE 接頭辞term_relationships.object_id = '. $pid . '
AND 接頭辞term_taxonomy.taxonomy = "category"
';

$cate_res = mysqli_query($conn, $sql_cate);
$cate_gories = array();
while ($cate_row = mysqli_fetch_assoc($cate_res)){
$cate_gories[] = $cate_row["name"];
};
$cate_gories = implode(",", $cate_gories);
?>

<!– HTMLにてPHP変数を表示 –>
<li>
<a class="clearFix" href="<?php echo $link;?>">
<?php echo $title; ?>
<span> – <?php echo $datefix;?></span>
<span> <?php echo $cate_gories;?></span>
</a>
</li>

<?php
};
?>
</ul>
<?php
/* PHPでデータベースから切断 */
mysqli_close($conn);
?>

ちょっと途中表示がおかしいと思いますが、これが呼び出しようPHPの全容です。
「mysqli 手続き型」という手法で書いてあります。
他に「mysqli オブジェクト型」と「PDO」というデータベースへのアクセス方法がありますが、mysqlからの移行難易度が最も低いmysqli手続き型に落ち着きました。

因みにさくらのレンタルサーバーではmysqliとpdoのどちらも対応しています。

細かい部分を別の記事にて解説していきます。

カラダマジック

おはようございます、今週は火曜日から週の始まりという方も多いのでは? 月曜休みでも土曜日出勤だからなんとなくチャラな感じの 桂 コヒ蔵です(^o^)丿~♪ 今朝も起きました。 当然ですw 朝起きが苦手な私は、目覚まし時計をいっぱいセットします。...

良い物はやっぱり高いのかな(^^ゞ

毎度馬鹿馬鹿しいブログにお付き合い頂いております。 ストブロのコヒ蔵です(^o^)丿~♪ 仕事でアドベ製品をちょいちょい使うのですが、 半年前までは触ったことがない製品を買ってはせっせと勉強しております。...

カジョゥハ・ンーノウです。

はじめまして、おはようございます。 最近人気の香港出身映画監督、カジョゥハ・ンーノウです。 うそ、コヒ蔵です♪ おなかの調子がよくないここ数日ですが、 私の過剰反応っぷりが自分で面白いので、皆さんにもその滑稽な姿をお伝えしたいと思っています。...

シドロー・モドローンです。

はじめまして、おはようございます。 ハリウッドスターのシドロー・モドローンです。 うそ、コヒ蔵です orz 今朝は寝坊しました。 寝坊してシドロモドロw シドロモドロで、 テンヤワンヤで、 アタフタで、 バタバタです。...

電器屋Walker新CMシリーズ(3)

Taiji君バージョン(アップル屋Walker チクチクツッコミ付き) Coffeeバージョン(可もなく不可もなく、スタンダードバージョン) Cheekバージョン(春だし、やっぱりムサイおじさん声より女の子の声だよねバージョン)...

調査に行ってきましたよ♪

ご機嫌如何ですか? INSTのコーヒーです(^o^)丿 昨日は日曜日。 と、言うことで電器屋さんへ調査へ行って来ました(^o^)丿 お店は大変な賑わい! で、メーカーさんから応援が来てたので早速聞き込み!!...

Do you make your week as you wish?

ぐるぐるっと回って一週間! 日曜日から新しい一週間が始まるというのが本当らしいのですが、 企業戦士、社会の歯車たる私にはどうしても「月曜日」が週の始まりな 気分です。 私の地方ではようやく春の気配を感じるようになってきました。 すっきりと晴れ渡った空。...

スズメの導入を検討します

ちゅんちゅん♪ スズメには全力で逃げられて、 ハトには大群にたかられる。  桂 コヒ蔵です(^o^)丿~♪ みなさん、朝食ってどうしていますか? 私の場合、以前は朝食を食べませんでした。 「ご飯食べる時間があるなら寝ていたい!!」ってのが本音ですがw...

ほぼ日刊の日記なら

全国1億3千万の○○ファンの皆様、こんにちわ。 軽妙な「ら抜き言葉」でお馴染み、桂 コヒ蔵です。 今日から改名して「ラーヌキ コヒ蔵」にしようとしましたが、市役所で苦笑いされましたw さて、みなさん毎日続けている事って何かありますか?...

ダイエットとチョコレートの甘い関係。

突然ですが、 私コーヒーはこの2年間で20キロ程のダイエットに成功しました。 ダイエット生活を本にまとめて夢の印税生活・・・と思っているのですがw 冗談はさておき、やれパソコンだ、やれゲームだと...

電器屋Walkerの新CM、「絶賛配信中」バージョン

以前から使用していた「パーソナリティー、Taiji、Coffee」で始まるCMは INST内の評判が結構良かったんです。 でも、実は・・・ 宇都宮に出張に行った際に、ホテルで収録ww ビジネスホテルに何十回と響き渡る「絶賛配信中」の声ww...

電器屋Walkerの新しいCMシリーズ(2)

電器屋Walkerの新しいCMシリーズ(2)です。 当然配信中にも流れますが、こちらでもちょっと紹介しますww 基本的に全員同じ内容を言っているはずです。(はず?w) どっから聞いても「アップルWalker」なTaiji君のCMでしたがw...

0コメント


電器屋Walkerの過去配信のBGMで利用させて頂いております。

ポッドキャスト品質向上、整音テクニック 解説Live

開催のお知らせ

詳細はこちら

国際ポッドキャストの日

International Podcast Day Event

ツキイチ - 隣のポッドキャスト

まとめファンサイト