回答編集履歴

3

edit

2021/11/09 19:43

投稿

m.ts10806
m.ts10806

スコア80875

test CHANGED
@@ -15,3 +15,13 @@
15
15
 
16
16
 
17
17
  [PHPでデータベースに接続するときのまとめ#"SELECT * FROM users WHERE id = '$id'" のように変数展開を使ってSQL文を組み立てている](https://qiita.com/mpyw/items/b00b72c5c95aac573b71#select--from-users-where-id--id-%E3%81%AE%E3%82%88%E3%81%86%E3%81%AB%E5%A4%89%E6%95%B0%E5%B1%95%E9%96%8B%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6sql%E6%96%87%E3%82%92%E7%B5%84%E3%81%BF%E7%AB%8B%E3%81%A6%E3%81%A6%E3%81%84%E3%82%8B)
18
+
19
+
20
+
21
+ ただ、質問者さんのコードをよく見ると
22
+
23
+ `PDO:execute(実行) prepareでパラメータ化した部分に具体的な値を結びつける(バインド)`
24
+
25
+ とコメントで書かれてますね。
26
+
27
+ まさにこのことです。

2

edit

2021/11/09 19:43

投稿

m.ts10806
m.ts10806

スコア80875

test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  PHPからのセットではなく、SQL文字列そのものが問題です。
4
4
 
5
- どういう問題が起きているか不明なのはtry-catchで例外処理をしていないからです。
5
+ どういう問題が起きているか不明なのはtry-catchで**SQL実行時に**例外処理をしていないからです。
6
6
 
7
7
 
8
8
 

1

edit

2021/11/09 19:42

投稿

m.ts10806
m.ts10806

スコア80875

test CHANGED
@@ -1,4 +1,10 @@
1
1
  文字列をSQLで扱う場合はクォーテーションで囲う必要があります。
2
+
3
+ PHPからのセットではなく、SQL文字列そのものが問題です。
4
+
5
+ どういう問題が起きているか不明なのはtry-catchで例外処理をしていないからです。
6
+
7
+
2
8
 
3
9
  ただ、DB直ではなく、何らかのプログラミング言語から利用する場合、
4
10