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

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

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

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

phpMyAdmin

phpMyAdminはオープンソースで、PHPで書かれたウェブベースのMySQL管理ツールのことです。

PHP

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

Q&A

0回答

991閲覧

PHP内のMySQLに関連した関数

Chandler_Bing

総合スコア673

MySQL

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

phpMyAdmin

phpMyAdminはオープンソースで、PHPで書かれたウェブベースのMySQL管理ツールのことです。

PHP

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

1グッド

1クリップ

投稿2018/12/15 06:19

PHP

1function getHistories($tableNumber) 2{ 3 try { 4 $errors = array(); 5 $db = connectdb($errors); 6 $stmt = $db ->prepare("SELECT * FROM (SELECT history.productid AS productid, history.tableNumber AS tableNumber, history.quantity AS quantity, history.time AS time, 7 sushi.name AS name, sushi.price AS price, sushi.img AS img, sushi.intro AS intro 8 FROM history INNER JOIN sushi ON (history.productid = sushi.id) 9 WHERE history.tableNumber = 6 10 UNION ALL 11 SELECT history.productid AS productid, history.tableNumber AS tableNumber, history.quantity AS quantity, history.time AS time, 12 dessert.name AS name, dessert.price AS price, dessert.img AS img, dessert.intro AS intro 13 FROM history INNER JOIN dessert ON (history.productid = dessert.id) 14 WHERE history.tableNumber = 6) AS product ORDER BY product.time ASC"); 15 16 $stmt ->bindParam(1, $tableNumber, PDO::PARAM_INT); 17 $stmt ->bindParam(2, $tableNumber, PDO::PARAM_INT); 18 $stmt ->execute(); 19 $results = $stmt ->fetchAll(); 20 } catch (PDOException $e) { 21 echo "エラー:" . $e ->getMessage(); 22 } 23 return $results; 24}

という関数があります。要は取り出したSQLの文の全てを取得するという関数です。
関数自体の挙動は問題なしです。

しかし呼出し先で
$_SESSION['historiesMaxpage'] = ceil(count($$histories) / $itemperpagse);
の様に使うとエラーが出ます。ここでは行数のみが欲しいのですが、その場合はfecthColumnでないとダメですか。

fetchAllをfecthColumnに変えた関数を増やせば動くとは思いますが、この関数で呼出し先で行数を取得する方法はありますか。

bochan2👍を押しています

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

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

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

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

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

ssasaki

2018/12/15 06:24

getHistories() と $_SESSION['historiesMaxpage'] = ceil(count($$histories) / $itemperpagse); の関係が不明ですね。 $histories に $histories() の結果が入っているのでしょうか? ちなみに 「$$」histories になっていますが正しいですか?
Chandler_Bing

2018/12/15 06:46

ありがとうございます。 $histories の間違いです。なお動きません。 行数から、マックスのページが何ページがを調べるものになっております。
ssasaki

2018/12/15 06:48

あ、すみません。上記の質問ですが、、 $histories にgetHistories() の結果が入っているのでしょうか? の誤りです。
Chandler_Bing

2018/12/15 07:11

ありがとうございます。 そのつもりでコードを書いています。
ssasaki

2018/12/15 07:26

エラーの詳細を書いた方が良いと思います。
退会済みユーザー

退会済みユーザー

2018/12/24 22:30

どのようなエラーが出力されるのでしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

アカウントをお持ちの方は

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

ただいまの回答率
85.51%

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

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

質問する

関連した質問