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

回答編集履歴

5

加筆修正

2016/09/06 06:57

投稿

退会済みユーザー
answer CHANGED
@@ -60,4 +60,11 @@
60
60
  var_dump($query_str);
61
61
  ```
62
62
  などとしてみてはいかがでしょうか。
63
- 変数が展開されているかどうか確認してみてくださ
63
+ 変数が展開されているかどうか、日付フォーマットが想定た形になっているか、
64
+ など確認してみてください。
65
+ ついでに言うと私なら、変数名をくくって明示します。
66
+ ```php
67
+ $query_str = <<<EOT
68
+ INSERT INTO messages(name, message, date) VALUES('${name}', '${message}', '${date}')
69
+ EOT
70
+ ```

4

加筆修正

2016/09/06 06:57

投稿

退会済みユーザー
answer CHANGED
@@ -51,4 +51,13 @@
51
51
  exit('データを登録できませんでした。');
52
52
  }
53
53
  ```
54
- です、$conの位置が間違い。
54
+ です、$conの位置が間違い。
55
+
56
+ 【加筆3】
57
+ 試しに
58
+ ```php
59
+ $query_str = "INSERT INTO messages(name, message, date) VALUES('$name', '$message', '$date')";
60
+ var_dump($query_str);
61
+ ```
62
+ などとしてみてはいかがでしょうか。
63
+ 変数が展開されているかどうか確認してみてください。

3

加筆修正

2016/09/06 06:52

投稿

退会済みユーザー
answer CHANGED
@@ -35,4 +35,20 @@
35
35
  exit('データベースに接続できませんでした。');
36
36
  }
37
37
  ```
38
- だけで十分です。
38
+ だけで十分です。
39
+
40
+ 【加筆2】
41
+ ```php
42
+ $result = mysqli_query("INSERT INTO messages(name, message, date) VALUES('$name', '$message', '$date')", $con);
43
+ if (!$result) {
44
+ exit('データを登録できませんでした。');
45
+ }
46
+ ```
47
+ でなく
48
+ ```php
49
+ $result = mysqli_query($con, "INSERT INTO messages(name, message, date) VALUES('$name', '$message', '$date')");
50
+ if (!$result) {
51
+ exit('データを登録できませんでした。');
52
+ }
53
+ ```
54
+ です、$conの位置が間違い。

2

加筆修正

2016/09/06 06:41

投稿

退会済みユーザー
answer CHANGED
@@ -12,4 +12,27 @@
12
12
  [http://php.net/manual/ja/mysqli.select-db.php](http://php.net/manual/ja/mysqli.select-db.php)
13
13
 
14
14
  なお、mysqli_select_db()を使わなくてもいいように、
15
- mysqli_connect()一発で目的のデータベースに接続するといいんじゃないかと思います。
15
+ mysqli_connect()一発で目的のデータベースに接続するといいんじゃないかと思います。
16
+
17
+ 【加筆】
18
+ ```php
19
+ $con = mysqli_connect('localhost', 'ユーザー名', 'パスワード','データベース名1');
20
+ if (!$con) {
21
+ exit('データベースに接続できませんでした。');
22
+ }
23
+
24
+ $result = mysqli_select_db($con, 'データベース名2');
25
+ if (!$result) {
26
+ exit('データベースを選択できませんでした。');
27
+ }
28
+ ```
29
+ の用にデータベース名が異なる場合はmysqli_select_db()を使う意味がありますが、
30
+ そもそもどちらにも同じデータベース名を記述するのであれば
31
+ mysqli_select_db()の下りを省いて
32
+ ```php
33
+ $con = mysqli_connect('localhost', 'ユーザー名', 'パスワード','データベース名');
34
+ if (!$con) {
35
+ exit('データベースに接続できませんでした。');
36
+ }
37
+ ```
38
+ だけで十分です。

1

加筆修正

2016/09/06 06:38

投稿

退会済みユーザー
answer CHANGED
@@ -9,4 +9,7 @@
9
9
  です。
10
10
 
11
11
  PHP: mysqli::select_db - Manual
12
- [http://php.net/manual/ja/mysqli.select-db.php](http://php.net/manual/ja/mysqli.select-db.php)
12
+ [http://php.net/manual/ja/mysqli.select-db.php](http://php.net/manual/ja/mysqli.select-db.php)
13
+
14
+ なお、mysqli_select_db()を使わなくてもいいように、
15
+ mysqli_connect()一発で目的のデータベースに接続するといいんじゃないかと思います。