質問編集履歴
2
ご指摘頂いた内容を加筆致しました。
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
|
1
|
+
XAMPPを用いてブラウザからデータ登録 エラーを解消したいです。
|
body
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
### 前提
|
2
|
-
|
2
|
+
XAMPPを使用して、ブラウザからデータの登録を行いたいです。
|
3
|
-
|
3
|
+
しかし、重複したpid(ID)を登録する際にエラーが表示されてしまい、困っています。
|
4
4
|
|
5
5
|
### 実現したいこと
|
6
|
-
写真のようなデータをベースを作成して、データの登録を行っています。
|
6
|
+
写真のようなデータをベースを作成して、XAMPPを用いて、ブラウザからデータの登録を行っています。
|
7
7
|

|
8
|
-
|
8
|
+
。
|
9
9
|
|
10
10
|
|
11
11
|
pid(ID)を主キーで設定しただけでは、重複したpid(ID)を登録する際に、
|
@@ -42,4 +42,4 @@
|
|
42
42
|
|
43
43
|
### 補足情報(FW/ツールのバージョンなど)
|
44
44
|
|
45
|
-
Windows10
|
45
|
+
Windows10、XAMPP
|
1
ご指摘頂いた内容を加筆しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,27 +1,40 @@
|
|
1
1
|
### 前提
|
2
|
-
データベースで、データを重複して登録
|
2
|
+
データベースで、データを重複して登録できなくしたいです。
|
3
|
-
|
3
|
+
そのために、pid(ID)を主キーで設定していますが、重複したpis(ID)の登録時にエラーが表示されて困ています。
|
4
4
|
|
5
5
|
### 実現したいこと
|
6
|
+
写真のようなデータをベースを作成して、データの登録を行っています。
|
7
|
+

|
6
|
-
データ
|
8
|
+
データベースで、データを重複して登録できなくしたいです。
|
7
9
|
|
10
|
+
|
11
|
+
pid(ID)を主キーで設定しただけでは、重複したpid(ID)を登録する際に、
|
12
|
+
```
|
13
|
+
Uncaught mysqli_sql_exception: Duplicate entry 'a123' for key 'PRIMARY'
|
14
|
+
```
|
15
|
+
というエラーが表示されます。
|
16
|
+
|
17
|
+
このエラーを表示させずに、別ブラウザで「このIDは既に使用されています」のように表示させたいです。
|
18
|
+
|
8
19
|
### 発生している問題・エラーメッセージ
|
9
|
-

|
10
|
-
|
20
|
+
同じpid(ID)のデータを登録しようとした際に、登録できないクエリを使用すれば、エラーは発生しないと考えて、以下のクエリを考えたのですが、
|
11
21
|
|
12
|
-
同じIDのデータを登録しようとした際に、登録できないようにするために、以下のクエリを考えたのですが、
|
13
|
-
|
14
22
|
$query = "INSERT INTO products VALUES ('{$pid}', '{$name}', '{$cost}', '{$price}') WHERE NOT EXISTS (SELECT pid, name, cost ,price FROM products WHERE pid = '{$pid}')";
|
15
23
|
|
16
|
-
|
24
|
+
操作を行ったところ、
|
17
25
|
```
|
18
26
|
Uncaught mysqli_sql_exception: SQL 構文にエラーがあります。
|
19
27
|
```
|
20
28
|
とエラーが表示されます。
|
21
29
|
SQL文のどこが構文エラーになっているのでしょうか?
|
22
|
-
何かわかる方がいらっしゃったら、教えて頂きたいです。
|
23
30
|
|
24
31
|
|
32
|
+
|
33
|
+
|
34
|
+
|
35
|
+
何かわかる方がいらっしゃりましたら、教えて頂きたいです。
|
36
|
+
|
37
|
+
|
25
38
|
### 試したこと
|
26
39
|
|
27
40
|
NOT EXISTSの使い方 で検索
|