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

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

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

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

Q&A

解決済

4回答

1514閲覧

DB返り値の指定方法誤っていますでしょうか?

moitaro

総合スコア443

PHP

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

0グッド

0クリップ

投稿2017/02/27 07:35

お世話になっております。

データベースの接続しその値を返答するような関数を作っております。

php

1func.php 2<?php 3 /** 4 * DBに接続し $dbを取得する。 5 * @return db を返す 6 */ 7 8 function getDB () { 9 //../../../../../idpw.php 10 $idpw = '../../../../../idpw.php'; 11 require("$idpw"); 12 $con = mysql_connect($dsn['host'],$dsn['user'],$dsn['pass']); 13 if (!$con) { 14 echo('データベースに接続できませんでした。'); 15 } 16 $db = mysql_select_db('xs345', $con); 17 if (!$db) { 18 echo('データベースを選択できませんでした。'); 19 } 20 21 $db = mysql_query('SET NAMES utf8', $con); 22 if (!$db) { 23 echo('文字コードを指定できませんでした。'); 24 } 25 echo "↑で宣言終わりここまで"; 26 return $db; 27 } 28 29?>

php

1<?php 2require('func.php'); 3?> 4 5<?php 6//使う時 7 $db=getDB(); 8 $list = $db->Execute($list_query); 9?>

とやっているのですが落ちてしまいます……
上手く読み込めません。

何が誤っていてどのようにすれば良いか伺ってよろしいでしょうか?

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

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

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

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

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

s.t.

2017/02/27 07:40

どのような落ち方をしているのでしょうか?
guest

回答4

0

他の回答にあるようにPHPのバージョンによっては使えないので、それが一番の原因かと思います。
ですが、それ以前に使い方自体にも問題があるように思えます。

・mysql_select_dbとmysql_queryの戻り値の受取先が同じ変数
・mysql_queryの戻り値を返して戻り先でExecuteをしているが、mysql_queryの戻り値はリソースなのでExecuteのようなメソッドは含んでいない
・確認はしていませんが、関数内はローカル変数なので、接続情報など失われていないか心配

投稿2017/02/27 07:51

ttyp03

総合スコア16998

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

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

0

ベストアンサー

mysql_ 系の API は、PHP 7.0 以降で削除された 古い API ですので、使わないようにしましょう。

たぶん古い文献なり Webページの記述を参考にされているのだと思います。

投稿2017/02/27 07:43

tacsheaven

総合スコア13703

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

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

moitaro

2017/02/27 08:21

ありがとうございます。 古い文献を参考にしていたため mysql_ 系は古いのですね…… http://freefielder.jp/blog/2014/05/php-mysql-mysqli.html を参考に書き換えてみてみようかと思います。 他にも違う点がある気がしてますけど……
guest

0

PHPのバージョンはいくつでしょうか?
最近のPHPはmysql_*系の古い接続方法はサポートしていませんよ

投稿2017/02/27 07:39

yambejp

総合スコア114784

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

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

0

「落ちてしまいます」とか「上手く読み込めません」では意味がわからないって。

落ちるって具体的にどういう状態ですか?
500エラーですか?

読み込めないというのは具体的にどういう状態ですか?
画面が真っ白になっているのですか?
それとも何かエラー文が表示されているのですか?

投稿2017/02/27 07:55

zico_teratail

総合スコア907

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

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

KiyoshiMotoki

2017/02/27 08:18

回答ではありません。 「質問への追記・修正の依頼」欄に記載すべき内容です。
zico_teratail

2017/02/27 08:20

いいえ違います。 これはれっきとした回答です。 このような質問にはこのような回答しかできないという注意喚起も込めています。こういう具体性に欠ける「できません」のみの質問があまりにも多いので。 「質問への追記・修正の依頼」では目立たないので注意喚起になりません。
zico_teratail

2017/02/27 08:23

ほらね、s.t.さんの修正依頼を無視して先にベストアンサーを決めちゃったでしょう? そういう質問者なんですよ。
moitaro

2017/02/27 08:33

ご迷惑をおかけし申し訳ございません。 $list = $db->Execute($list_query); の所で返って来なくなるのです……
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問