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

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

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

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

PHP

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

受付中

phpのバージョンが5.3.3のときでも,次のコードのエラーを修正する方法

zzz08759310
zzz08759310

総合スコア0

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

PHP

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

2回答

-4評価

1クリップ

225閲覧

投稿2021/12/24 14:55

編集2022/01/12 10:55

mysql内にあるデータベースのテーブルを連携させたphpプログラムを作成しました.
ブラウザ上でこのプログラムを起動させると,複数の入力欄が表示されて,入力した情報 (あらかじめテーブルに登録しているカラムの情報)の組み合わせによって, 出力結果
(これもあらかじめテーブルに登録している情報)が変わるようにするプログラムを作ってみました.
知恵袋を使って,ある程度はコードの改良が進んだのですがphpのバージョンが古いのかエラーが
発生しています.
エラー内容
syntax error, unexpected T_CATCH
#ソースコード

<?php $db_ipaddress ='IPアドレス名'; $db_id ='ユーザー名'; $db_pass ='パスワード'; $baba = filter_input(INPUT_POST, 'baba'); $kyori1 = filter_input(INPUT_POST, 'kyori1'); $kyori2 = filter_input(INPUT_POST, 'kyori2'); $kyaku1 = filter_input(INPUT_POST, 'kyaku1'); $kyaku2 = filter_input(INPUT_POST, 'kyaku2'); $ikusei = filter_input(INPUT_POST, 'ikusei'); $message = array(); $link = mysqli_connect($db_ipaddress, $db_id, $db_pass); if ( ! $link ) { die('接続失敗'.mysql_error() ); } else { print "mysql 接続完了<br>"; } $usedatabase ='db名'; $db_selected = mysqli_select_db($link,$usedatabase); if ( ! $db_selected ) { die('データベース選択失敗'.mysql_error() ); } else { print "データベース選択完了<br>"; } mysqli_set_charset($link,'utf-8'); $sql = 'select * from uma_musume'; $result = mysqli_query($link,$sql); if ( ! $result ) { die('selectクエリーが失敗'.mysql_error() ); } else { print "sql文が無事に稼働<br>"; print"データ取得完了<br>"; } try { $dbh = new PDO('mysql:db_host=ホスト名;usedatabase=db名', $db_id, $db_pass); $sth = $dbh->query('select * from テーブル名 where baba=? and kyori1=? and kyori2=? and kyaku1=? and kyaku2=? and ikusei=?'); $sth->execute(array($baba, $kyori1, $kyori2, $kyaku1, $kyaku2, $ikusei)); foreach ($stmt as $row) { $message = htmlspecialchars($row['ウマ娘名'], ENT_QUOTES); print_r($row); } echo "</pre>"; $sth = null; $dbh = null; } catch (PDOException $e) { //ここからエラー $message = '<p>DATABASE ERROR</p>'; $message = $e->getMessage(); } ?> <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> </head> 検索フォーム<br> <body> <form action ="data_final-1.5.php" method="post"> バ場適性 <input type="text" name="baba" value="<?= $baba ?>"><br> 距離適性_01 <input type="text" name="kyori1" value="<?= $kyori1 ?>"> 距離適\ 性_02 <input type="text" name="kyori2" value="<?= $kyori2 ?>"><br> 脚質_01 <input type="text" name="kyaku1" value="<?= $kyaku1 ?>"> 脚質_02 <i\ nput type="text" name="kyaku2" value="<?= $kyaku2 ?>"><br>

育成難易度 <input type="text" name="ikusei" value="<?= $ikusei ?>"><br>
<button>検索</button>

</form> <?= count($message) > 0 ? 'あなたが選んだのは ' . implode(', ', $message) . '\ です' : '該当する名前が見つかりません' ?> </body> </html> #補足

このコードは私自身が作ったのではなく,知恵袋の方の回答で学んだことを活かして
元々作ったコードと合わせて改良したものです.

そしてエラーが出たコードは
catch (PDOException $e) {
からです.

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

退会済みユーザー

退会済みユーザー

2021/12/25 02:14 編集

5.3 なんてまともに使うのがかなりしんどいバージョンです。 *よほど php に精通していないと使えません。 外部に公開するものであれば、まずバージョンを上げることを考えてください。
zzz08759310

2021/12/25 02:35

バージョンが低すぎるということは理解しています.しかしphpの実行環境は 大学専用の環境サーバーに入って行うものらしいので,管理者でない生徒である私にはバージョンアップは難しいです. macのターミナルからphpが実行できる環境に設定することは可能でしょうか?
m.ts10806

2021/12/25 02:44

IT企業の社外研修でもない話ではないですね。Javaの研修でJava6採用してるとか課題と割り切ってやるなら赤の他人を頼るのは悪手です。業務では絶対使わないですし。
zzz08759310

2021/12/25 02:51

悪手とか言ってますけど,わかんないからこうやって聞いてるんじゃないですか.回答者さんはただアドバイスするだけで良いんですよ.課題は自分の力でやれというのはお門違いじゃないですか?
m.ts10806

2021/12/25 03:36

>回答者さんはただアドバイスするだけで良いんですよ それは単なる横暴です。「質問するときのヒント」や「推奨していない質問」が整理されているように、サービス利用のために求められることは質問者のほうが多いです。幾度となく質問編集するように依頼していますが、それは質問内容に不備があったりコードそのままで提示されていたりして、見る人への配慮が足りていない(技術関係ない)ということです。 >課題は自分の力でやれというのはお門違いじゃないですか? 課題は赤の他人より先に聞くべき場所があるという話です。 事情や背景も知らない赤の他人が、課題にそった対応をできるはずがないですよね。バージョンが古いのなんて最たる例です。 そもそも課題ってこれまで習ってきたことで出来ることのはずなので、基本「自分の力でできないとおかしいもの」ですよ。
zzz08759310

2021/12/25 04:54

バージョンが古いのは仕方ないことです.だって学校が管理している環境のサーバーなんでどうしようもないんですよ.ならばと自分のターミナルで新たにディレクトリを作ってphpファイルが書き込むところまでは持ってきたのに, いざ実行するとエラーどころか実行すらままならず.homebrewのインストーリもphpのバージョンが7以上なのも確認できているのに % brew search php@7 ==> Formulae php@7.2 php@7.3 php@7.4 ✔ php % php -v zsh: command not found: php となってしまいます. せめてターミナルから自分が作ったディレクトリの中でphpや他のプログラムが動かせるようになれば,なんとかなりそうな気がするんですが.どうでしょう?
zzz08759310

2021/12/25 04:55

まず$ではなく%となっている時点でおかしいのでしょうか?

まだ回答がついていません

会員登録して回答してみよう

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

PHP

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。