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

質問編集履歴

2

見やすくしました

2019/12/20 02:37

投稿

hiro-chan
hiro-chan

スコア18

title CHANGED
@@ -1,1 +1,1 @@
1
- phpからpdoでmysalにユーザーの登録を実施したらエラーとなる
1
+ phpからpdoでmysqlにユーザーの登録を実施したらエラーとなる(位置情報を格納するgeometry型を使っています)
body CHANGED
@@ -1,20 +1,8 @@
1
- phpからpdoでmysalにユーザーの登録を実施したらエラーとな
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

説明追記

2019/12/20 02:37

投稿

hiro-chan
hiro-chan

スコア18

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は空にしておいたという経緯です。