回答編集履歴

3

補足

2017/06/04 13:00

投稿

mpyw
mpyw

スコア5223

test CHANGED
@@ -112,6 +112,8 @@
112
112
 
113
113
  // MySQLに関わる処理全体をtry~catchで括る
114
114
 
115
+ // (原則的には個々の関数の中にtry~catchを書いてはいけない)
116
+
115
117
  try {
116
118
 
117
119
 

2

modify

2017/06/04 13:00

投稿

mpyw
mpyw

スコア5223

test CHANGED
@@ -5,6 +5,26 @@
5
5
  - 2回接続してるのが無駄
6
6
 
7
7
  - `mysqli_report()`でエラーモードを設定しないと`mysql_sql_exception`は投げられないのでtry~catchが無意味
8
+
9
+
10
+
11
+ ```sql
12
+
13
+ CREATE TABLE `news`(
14
+
15
+ `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
16
+
17
+ `active` tinyint(1) NOT NULL DEFAULT 1,
18
+
19
+ `text` varchar(255) NOT NULL DEFAULT ''
20
+
21
+ ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
22
+
23
+
24
+
25
+ INSERT INTO `news`(`text`) VALUES('sample_text1'),('sample_text2');
26
+
27
+ ```
8
28
 
9
29
 
10
30
 
@@ -136,7 +156,7 @@
136
156
 
137
157
  <?php foreach ($news as $new): ?>
138
158
 
139
- <li><?=h($new['news'])?></li>
159
+ <li><?=h($new['text'])?></li>
140
160
 
141
161
  <?php endforeach; ?>
142
162
 

1

テーブル名

2017/06/04 12:57

投稿

mpyw
mpyw

スコア5223

test CHANGED
@@ -60,7 +60,7 @@
60
60
 
61
61
  {
62
62
 
63
- $sql = 'SELECT * FROM sample_database WHERE active="1"';
63
+ $sql = 'SELECT * FROM news WHERE active="1"';
64
64
 
65
65
  return $db->query($sql)->fetch_all(MYSQLI_ASSOC);
66
66