質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

2回答

1839閲覧

他データベースからのデータ取得、表示

naonao11

総合スコア97

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2018/04/13 07:49

編集2018/04/13 08:00

他のデータベースから値をとりたくて、書いてみたのですが

php

1global $wpdb; 2$db_user = 'ユーザ名'; 3$db_passwd = 'パスワード'; 4$db_host = 'ホスト名'; 5$db_name = 'データベース名'; 6$another_wpdb = new wpdb($db_user, $db_passwd, $db_name, $db_host); 7 8$sults = $another_wpdb->get_results($wpdb->prepare('SELECT user_name FROM user_information ORDER BY id ASC')); 9 10foreach ($sults as $value) { 11 $value = json_encode($value, JSON_UNESCAPED_UNICODE); 12 13 echo $value."<br />"; 14}

結果

get_results($wpdb->prepare('SELECT user_name FROM user_information ORDER BY id ASC')); foreach ($sults as $value) { $value = json_encode($value, JSON_UNESCAPED_UNICODE); echo $value."
"; } ?>

と表示されます。
arrow演算子について調べてみたのですがわかりません。。。教えていただけたらと思います。。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

rmrmnrm

2018/04/13 07:54

$other_wpdbと$another_wpdbがありますが、お間違いないですか?
m.ts10806

2018/04/13 07:55

PHPのファイル内の <?php ~~~ ?> の間に書かれているのでしょうか?このコードがどこのどういった場所に書かれているか記載をお願いします。
m.ts10806

2018/04/13 07:56 編集

あ、分かりましたたぶん。 $other_wpdb で接続情報を受け取っていますが $another_wpdb で利用しています。変数名の間違いでは?
naonao11

2018/04/13 07:56

申し訳ございません!ありがとうございます、anotherで統一しているのですが、結果は同様です。。。
m.ts10806

2018/04/13 07:57

aother_wpdb と another_wpdb でまだ違いますよ。
naonao11

2018/04/13 07:59

mts10806さん> phpファイルの<?php ~~~ ?>に記載しております。これはトップページ表示のところでサンプルとして他のデータベースから表示されるかの確認のため行っている最中のものです。。。
naonao11

2018/04/13 08:01

mts10806さん>おっしゃるところを直してみたのですが、結果は変わらずでした。。。
guest

回答2

0

アロー演算子以降が文字列として出力されてしまう問題が発生しているってことですよね?
>が終了タグとして認識されているのでは?
そもそも、そのファイルはphpが実行できる環境になってますか?


ちなみに、wpdb::prepare()はWP3.5以降から2つ以上の引数を必要とします(SQLインジェクション対策です)

参考:関数リファレンス/wpdb Class - WordPress Codex 日本語版

投稿2018/04/13 08:13

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

naonao11

2018/04/13 08:21

wordpressに登録したDBについては表示することができたため、phpが実行できる環境にはあるかと思います。 はい、その通りです。アロー演算子でそのようなことが起きるのですか? ありがとうございます!そちらにつきましては $sql = "SELECT user_name FROM user_information ORDER BY id ASC;"; $sults = $another_wpdb->get_results($sql); と書き直しました!
guest

0

ベストアンサー

基本的な組み方かもしれません。
prepare()の場合はsqlセットした後にexecute()で実行。
get_resultsの場合はSQLそのままで良いのでは?

投稿2018/04/13 08:04

m.ts10806

総合スコア80765

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

naonao11

2018/04/13 08:08

$sql = "SELECT user_name FROM user_information ORDER BY id ASC;"; $sults = $another_wpdb->get_results($sql); と書き換えてみたのですが、結果は get_results($sql); foreach ($sults as $value) { $value = json_encode($value, JSON_UNESCAPED_UNICODE); echo $value." "; } ?> と結果はarrow演算子以下が出てきます、、、
m.ts10806

2018/04/13 08:11

うーんおかしいですね。 全角になっている様子もないですし、そのままコードが出てくるということはそこでPHPコードとして認識されないって事にはなるわけですが。 手前で var_dump($another_wpdb); とすると何が出力されますか?
naonao11

2018/04/13 08:14

何も出てこず、です。。。
m.ts10806

2018/04/13 08:16

ではaozukiさんが仰るようにPHPが実行できる環境になっているかどうか、ですね。 何も出ないのはPHPコードがPHPコードとして実行できていないということになります。
m.ts10806

2018/04/13 08:21

あとはもう少しコード全体が分かるような形でコードを提示されたほうが良いかもしれません。
naonao11

2018/04/13 08:21

wordpressに登録したDBについては表示することができたため、phpが実行できる環境にはあるかと思います。。。
m.ts10806

2018/04/13 08:29 編集

手前で echo "test"; というのも試してみてください。 もしかしたら出力を抑制されているかもしれませんので、 その直後に exit; を入れて確認を。 と、ベストアンサー選ばれたようですが解決されたのでしょうか?
naonao11

2018/04/13 08:39

はい!一からmts10806さんが言っていた通り書いてみたらなぜか通りました!ありがとうございます!
m.ts10806

2018/04/13 08:41

なるほど 解決できたようで何よりです
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問