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

回答編集履歴

1

回答を追記

2016/09/04 03:45

投稿

KiyoshiMotoki
KiyoshiMotoki

スコア4791

answer CHANGED
@@ -46,4 +46,35 @@
46
46
  という項を参照してください。
47
47
  [https://cloud.google.com/sql/docs/mysql-flags](https://cloud.google.com/sql/docs/mysql-flags)
48
48
 
49
- SQLモードは、`sql_mode`という名称のフラグのようです。
49
+ SQLモードは、`sql_mode`という名称のフラグのようです。
50
+
51
+ # 追記
52
+
53
+ > $stmt = $mysqli->prepare($query);
54
+ > の直後に
55
+ > echo $mysqli->error;
56
+ > を設置しても何も表示されませんでした。
57
+
58
+ では、 echo $mysqli->error; の代わりに以下2行を追加すると、どのように表示されるか確認していただけますか?
59
+ ```php
60
+ var_dump($mysqli);
61
+ exit(1);
62
+ ```
63
+
64
+ `$stmt->bind_param('s', $company);`が実行された行で
65
+ > Fatal error: Call to a member function bind_param() on boolean
66
+
67
+ と表示されるのは、`$mysqli->prepare($query)` の実行に失敗し、変数 $stmt に boolean型の FALSE が代入されているからです。
68
+ [http://php.net/manual/ja/mysqli.prepare.php](http://php.net/manual/ja/mysqli.prepare.php)
69
+ > 返り値
70
+ > mysqli_prepare() はステートメントオブジェクトを返します。 エラー時には FALSE を返します。
71
+
72
+ その場合、`$mysqli->error` というプロパティに何らかのエラーメッセージが格納されているはずです。
73
+
74
+ ---
75
+ > MySQL5.6で新たにSQLインスタンスを作成してみましたが、結果は変わりませんでした。。。
76
+
77
+ もしかすると ONLY_FULL_GROUP_BY とは別の問題の可能性もありますが、
78
+ いずれにせよ、エラーメッセージを確認しないことには調査を進めることができません。
79
+
80
+ 頑張ってください。