ページを選択

ストブロ

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のどちらも対応しています。

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

PSNひっそりと再開

個人情報流出が問題となってサービスを停止していたプレイステーションネットワーク(通称:PSN)が一昨日5月28日ひっそりと再開しました。 ニュース報道ではサービス停止と情報流出の話題を大々的に取り上げたのに、 再開についてはほぼスルー?...

もふ・・・

今日はモフ曜日です(`・ω・´) 以上(/ω\) イヤン 桂 コヒ蔵でしたー( ^o^)ノ

DAIGORO with you, and me.

俺とおまえと どんどんっ♪ だいごろおー♪ ・・・ 焼酎はあまり好きじゃないですけど(/ω\) イヤン 最近「RUSE」というゲームにはまっています。 RTS(リアルタイムシミュレーションとか、リアルタイムストラテジーっていうのかな?)...

HDDデータの完全消去

昨日の続きですけど、パソコンを手放す際にはHDDを完全消去して個人情報などのデータが外部に漏れるのを防ぎたいですよね。 あと捨てるだけ、っていう状態ならHDD取り出してハンマーでゴチンゴチンやっちゃってくださいw...

週末始末記

なにやらこの週末はばたばた、ばたばた・・・ バタコさんかっ! コヒ蔵です( ・`ω・´)キリッ ってくらいばたばたでした。 土曜日出勤だったので、週末は土曜の夜から。 友人がパソコンを処分するっていうので、データの消去作業のお手伝い。...

2010/05/20は何を?

今日は眠たくてネタもないので去年の今頃は?とねじ巻きねじ巻き。 2010年05月20日は「夢か幻か・・・」 昨日我が家の無線LAN環境をちょっといじる必要があり、 でいじっていました。 無線LANに関してはこれまでずいぶんと頭を悩ませ、...

ジャンボ!

ドリームジャンボでしたか? 発売中ですよね。 ・・・  どの番号が当たるのか、こっそり教えてくれませんか?(`・ω・´) ・・・  当たった番号と私の番号、交換しませんか!(`・ω・´) ・・・  私に油田をちょうだい?(*ノωノ)キャ...

扇子を下さい。

レゴブロックを組み立てる的なセンスや粘り強さ、集中力は結構ある方だと思います。 いちから勉強すれば良いんでしょうが、サンプルコードやパターン学習、トライアンドエラーで XHTMLを書いたり。...

春雨ダイエット

夕食のコントロールを初めて・・・もう2年くらいにはなっていると思うのですが、 当初MAX85kg位あった私の体重も、時間をかけてゆっくりと降下し 一時71kg台まで下がりました。 そこから時間をかけてゆっくりと上昇し74kgに。 これはやばい!とWii...

コーヒーのノリノリEnglish

やぁ、みんな! 今日もコーヒー先生のノリノリEnglishの時間だよ! ちゃーんと復習してきたかなっ? ははは、ジョークさぁ! だって今日が初めてだもんな!w さて、早速今日の日常生活にガチで役に立つ バリュアボーなフレーズをスタディーして行こうぜ!...

iPhone Appって簡単に作れるのかな?

なんとなく、 なんとなくそう思う時があります。 iPhonAppって簡単に作れるのかな?って。 何十万本とAppはあるそうですが、なかなか自分にジャストミートっていうの探すの大変ですよね。 だったら作れたら良いのに。みたいなw...

パソコンうるさいw

MBAを買って一番気がついたことは・・・もとからあったデスクトップPCの騒音の大きさw 排熱の為のファンがギュンギュン回っている訳で、 慣れちゃうとなんていう事はないですが、比較すると顕著ですよね。...

0コメント


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

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

開催のお知らせ

詳細はこちら

国際ポッドキャストの日

International Podcast Day Event

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

まとめファンサイト