回答編集履歴

1

回答を追記

2016/09/04 03:45

投稿

KiyoshiMotoki
KiyoshiMotoki

スコア4791

test CHANGED
@@ -95,3 +95,65 @@
95
95
 
96
96
 
97
97
  SQLモードは、`sql_mode`という名称のフラグのようです。
98
+
99
+
100
+
101
+ # 追記
102
+
103
+
104
+
105
+ > $stmt = $mysqli->prepare($query);
106
+
107
+ > の直後に
108
+
109
+ > echo $mysqli->error;
110
+
111
+ > を設置しても何も表示されませんでした。
112
+
113
+
114
+
115
+ では、 echo $mysqli->error; の代わりに以下2行を追加すると、どのように表示されるか確認していただけますか?
116
+
117
+ ```php
118
+
119
+ var_dump($mysqli);
120
+
121
+ exit(1);
122
+
123
+ ```
124
+
125
+
126
+
127
+ `$stmt->bind_param('s', $company);`が実行された行で
128
+
129
+ > Fatal error: Call to a member function bind_param() on boolean
130
+
131
+
132
+
133
+ と表示されるのは、`$mysqli->prepare($query)` の実行に失敗し、変数 $stmt に boolean型の FALSE が代入されているからです。
134
+
135
+ [http://php.net/manual/ja/mysqli.prepare.php](http://php.net/manual/ja/mysqli.prepare.php)
136
+
137
+ > 返り値
138
+
139
+ > mysqli_prepare() はステートメントオブジェクトを返します。 エラー時には FALSE を返します。
140
+
141
+
142
+
143
+ その場合、`$mysqli->error` というプロパティに何らかのエラーメッセージが格納されているはずです。
144
+
145
+
146
+
147
+ ---
148
+
149
+ > MySQL5.6で新たにSQLインスタンスを作成してみましたが、結果は変わりませんでした。。。
150
+
151
+
152
+
153
+ もしかすると ONLY_FULL_GROUP_BY とは別の問題の可能性もありますが、
154
+
155
+ いずれにせよ、エラーメッセージを確認しないことには調査を進めることができません。
156
+
157
+
158
+
159
+ 頑張ってください。