質問編集履歴
2
見やすくしました
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
phpからpdoで
|
1
|
+
phpからpdoでmysqlにユーザーの登録を実施したらエラーとなる(位置情報を格納するgeometry型を使っています)
|
body
CHANGED
@@ -1,20 +1,8 @@
|
|
1
|
-
phpからpdoで
|
1
|
+
phpからpdoでmysqlにユーザーの登録を実施したら以下のようにエラーとなります。
|
2
2
|
|
3
|
-
Fatal error: Uncaught PDOException: SQLSTATE[22003]: Numeric value out of range: 1416 Cannot get geometry object from data you send to the GEOMETRY field in /var/www/html/.vscode/adduser.php:49 Stack trace: #0 /var/www/html/.vscode/adduser.php(49): PDOStatement->execute(Array) #1 {main} thrown in /var/www/html/.vscode/adduser.php on line 49
|
3
|
+
> Fatal error: Uncaught PDOException: SQLSTATE[22003]: Numeric value out of range: 1416 Cannot get geometry object from data you send to the GEOMETRY field in /var/www/html/.vscode/adduser.php:49 Stack trace: #0 /var/www/html/.vscode/adduser.php(49): PDOStatement->execute(Array) #1 {main} thrown in /var/www/html/.vscode/adduser.php on line 49
|
4
4
|
|
5
|
-
|
6
|
-
mysql> show columns from User2;
|
7
|
-
+-----------+---------------------+------+-----+---------+----------------+
|
8
|
-
| Field | Type | Null | Key | Default | Extra |
|
9
|
-
+-----------+---------------------+------+-----+---------+----------------+
|
10
|
-
| id | int(11) unsigned | NO | PRI | NULL | auto_increment |
|
11
|
-
| user_name | varchar(64) | NO | UNI | | |
|
12
|
-
| password | varchar(255) | NO | | | |
|
13
|
-
| latlng | geometry | NO | MUL | NULL | |
|
14
|
-
| zoom | tinyint(2) unsigned | YES | | NULL | |
|
15
|
-
+-----------+---------------------+------+-----+---------+----------------+
|
16
|
-
|
17
|
-
問題部分
|
5
|
+
```問題部分のコード
|
18
6
|
$pdo = connect();
|
19
7
|
|
20
8
|
// ステートメント
|
@@ -30,6 +18,19 @@
|
|
30
18
|
// SQL実行
|
31
19
|
$success = $stmt->execute($params);
|
32
20
|
|
21
|
+
```
|
22
|
+
```mysqlのレコード
|
23
|
+
mysql> show columns from User2;
|
24
|
+
+-----------+---------------------+------+-----+---------+----------------+
|
25
|
+
| Field | Type | Null | Key | Default | Extra |
|
26
|
+
+-----------+---------------------+------+-----+---------+----------------+
|
27
|
+
| id | int(11) unsigned | NO | PRI | NULL | auto_increment |
|
28
|
+
| user_name | varchar(64) | NO | UNI | | |
|
29
|
+
| password | varchar(255) | NO | | | |
|
30
|
+
| latlng | geometry | NO | MUL | NULL | |
|
31
|
+
| zoom | tinyint(2) unsigned | YES | | NULL | |
|
32
|
+
+-----------+---------------------+------+-----+---------+----------------+
|
33
|
+
```
|
33
34
|
|
34
35
|
エラーが出ないようにしたいです。
|
35
36
|
とりあえず上記のコードでユーザ名とパスワードを登録して、からログイン後のtop画面に行きたいですが、エラーが出ます。top画面に行った後に、その画面でのボタンをクリックすると現在位置を取得してUser2テーブルに格納するため、「geometry」typeのlatlngカラムを作っておいてます。
|
1
説明追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -31,4 +31,6 @@
|
|
31
31
|
$success = $stmt->execute($params);
|
32
32
|
|
33
33
|
|
34
|
-
エラーが出ないようにしたいです。
|
34
|
+
エラーが出ないようにしたいです。
|
35
|
+
とりあえず上記のコードでユーザ名とパスワードを登録して、からログイン後のtop画面に行きたいですが、エラーが出ます。top画面に行った後に、その画面でのボタンをクリックすると現在位置を取得してUser2テーブルに格納するため、「geometry」typeのlatlngカラムを作っておいてます。
|
36
|
+
ログインの際にはユーザ名とパスワードを格納するだけなので、上記コードではとりあえず、latlngは空にしておいたという経緯です。
|