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

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

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

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

WordPress

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

PHP

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

956閲覧

wpdbの値が使えない

naonao11

総合スコア97

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

WordPress

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

PHP

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2018/05/29 07:43

wpdbを用いたいのですが、wpdb内の値がなぜかnullになってしまいます。

php

1<?php 2 3global $wpdb; 4$default_timezone_str = 'Asia/Tokyo'; 5date_default_timezone_set($default_timezone_str); 6$default_timezone = new DateTimeZone($default_timezone_str); 7 8$sqlSt = 'SELECT name FROM information WHERE id ='.$_POST['id']; 9 10 $resultsSt = $wpdb->get_results($sqlSt); 11 12echo json_encode($wpdb); 13?> 14

またこのファイルに移行するのは以下のjsから行っています。

js

1jqxhr = $.post('絶対パス', 2 {"id": id.val() 3 },function(data){alert(data);});

ファイルを通り、alertは出るのですが、wpdbがありませんでした。
ご助力お願いします。。。

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

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

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

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

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

m.ts10806

2018/05/29 07:52

$wpdbはどこでどのように定義されているのでしょうか。
naonao11

2018/05/29 07:54

defaultの設定でいつもglobal $wpdbと書くと用いれていました。。。
naonao11

2018/05/29 07:57

global $wpdb を $GLOBALS['wpdb'] のスーパーグローバル関数にしましたが特に変わりませんでした。。。
naonao11

2018/05/29 08:02

特に変化はありませんでした。。。
m.ts10806

2018/05/29 08:12

いや、何も入ってない変数を何度使おうとしても同じですよ。私がコメントに貼った記事読みました?
kei344

2018/05/29 08:19 編集

PHPは省略せずなるべく全体を提示してください。また、どこに記述しているかも提示してください。
guest

回答1

0

ベストアンサー

コメントにPHPマニュアルのリンクを貼っていますが、
globalキーワードは基本的にローカルスコープで宣言された変数をユーザー定義の関数で利用するために利用します。
エラーはでないかもしれませんが、いずれにしても「変数の宣言元」が必要です。
何もない状態でglobalと書いたとしても単にnull変数を宣言しているだけなので当然nullです。

WordPressではwp-load.phpをincludeすることでWordPressの機能を利用できるようになるので
WordPressの機能であるwpdbを利用したいのであれば下記のようにする必要があります。

php

1include 'wp-load.php';

※globalは不要です。

ただAjaxであればもっといいやり方がありそうに思います。
下記の記事も参考にしてください。

投稿2018/05/29 08:20

m.ts10806

総合スコア80850

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

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

naonao11

2018/05/29 08:22

include 'wp-load.php'; を用いてもパスの場所が違うとなり、絶対パスで書いた場合についても動いてくれません。。。
m.ts10806

2018/05/29 08:27

きちんとパスの場所を読めばできると思うのですが。 絶対パスはどのように書きましたか?
m.ts10806

2018/05/29 08:27

kei344さんのコメントにあるように「どこに記述した」という情報も必要です。
naonao11

2018/05/29 08:46

かしこまりました、ありがとうございます。。。もう一度確認してきます
m.ts10806

2018/05/29 08:53

途中っぽいコメントですが解決したのでしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問