teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

3

編集いたしました

2020/11/10 03:59

投稿

kazuki.o
kazuki.o

スコア8

title CHANGED
@@ -1,1 +1,1 @@
1
- 【PHP】SELECT文の回数について
1
+ 【PHP】SELECT文の回数と読込速度の関係について
body CHANGED
@@ -3,6 +3,8 @@
3
3
  また、高速化する方法はありますでしょうか?
4
4
 
5
5
  プログラミング初心者で要領を得なかったり、見当違いなことも多いと思いますが、どうか先輩方のお力添えを宜しくお願い致します。
6
+ その他にも、記載しておりますコードに誤った記述や改善の余地がありましたら、ご指摘いただけますと幸いです。
7
+
6
8
  ```php
7
9
  $id = 1;
8
10
 

2

yambejpさんのご回答をうけてid付近を編集しました。

2020/11/10 03:59

投稿

kazuki.o
kazuki.o

スコア8

title CHANGED
File without changes
body CHANGED
@@ -17,11 +17,12 @@
17
17
   mainPage_func();
18
18
   
19
19
 
20
- //関数
20
+ //関数(別ファイルに記述して、複数のWEBページにて読み込ませる予定です)
21
21
   function DB_select_func($tableName){
22
22
  global $pdo,$id;
23
- $sql = "SELECT * FROM ${tableName} WHERE id = ${id}";
23
+ $sql = "SELECT * FROM ${tableName} WHERE id = ?";
24
24
  $stmt = $pdo->prepare($sql);
25
+ $statement->bindValue('?', $id, PDO::PARAM_INT);
25
26
  $stmt->execute();
26
27
  $results = [];
27
28
  while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {

1

LIMITはいらなかったので削除しました。

2020/11/10 03:53

投稿

kazuki.o
kazuki.o

スコア8

title CHANGED
File without changes
body CHANGED
@@ -4,6 +4,8 @@
4
4
 
5
5
  プログラミング初心者で要領を得なかったり、見当違いなことも多いと思いますが、どうか先輩方のお力添えを宜しくお願い致します。
6
6
  ```php
7
+ $id = 1;
8
+
7
9
  $dsn = 'mysql:host=localhost;dbname=test_db;charset=utf8';
8
10
  $user = 'root';
9
11
  $password = 'root';
@@ -17,8 +19,8 @@
17
19
 
18
20
  //関数
19
21
   function DB_select_func($tableName){
20
- global $pdo,
22
+ global $pdo,$id;
21
- $sql = "SELECT * FROM ${tableName} LIMIT 1";
23
+ $sql = "SELECT * FROM ${tableName} WHERE id = ${id}";
22
24
  $stmt = $pdo->prepare($sql);
23
25
  $stmt->execute();
24
26
  $results = [];
@@ -29,7 +31,7 @@
29
31
  return $results;
30
32
  }
31
33
   function mainPage_func(){
32
- global $pdo,
34
+ global $pdo,$id;
33
35
  $results['table_1'] = DB_select_func('sheet_infos');
34
36
  $results['table_2'] = DB_select_func('pagetypes');
35
37
  $results['table_3'] = DB_select_func('buz_hours');