質問: mysql_close($link); if ($close_flag){ print('切断に成功しました。'); } ?> ### 補足情報 XAMPPとphpmyadminで行っています
回答: 正解はエラーメッセージに書いてあるので、読み方を解説します。 今回出ているのはこちらです。 > > aクエリーが失敗しました。You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '= '%a%'' at line 1 > > > > > クエリーが失敗しました。 > > > このメッセージから、次の行でエラーが出ていることがわかります。 ``` if (!$result) { die('クエリーが失敗しました。'.mysql_error()); } ``` つまり、直前のDB参照でなにか問題が起きているようです。 > > You have an error in your SQL syntax; > > > これは、実行しようとしたSQLに文法エラーがあるということです。 > > check the manual that corresponds to your MariaDB server version for the right syntax to use near ~~ > > > near ~~の後に書かれている部分の構文が間違っているので、使っているMariaDBのバージョンにあったマニュアルを確認してください。という感じのことが書かれています。 > > '= '%a%'' at line 1 > > > 実際に間違いのあるSQLの一部分が書かれています。 `= '%a%'` この辺りの記述が文法的におかしいようです。 実際のSQLと、マニュアルを確認しましょう。 `"SELECT * FROM kokyaku WHERE name like = '%{$name}%'"` MariaDBのマニュアルのLIKE構文を確認します。 > > `SELECT * FROM t1 WHERE d LIKE "T%";` > > > LIKE の後は、検索する文字列がこないといけないことがわかります。 つまり、`LIKE`の後に`=`が書かれているのがエラーの原因と突き止められます。 エラーメッセージの内容がわかれば、このような流れで原因を探していけます。 何が書いてあるかわからない場合はまず出ているエラーを検索してみることをお勧めします。 今回だと、`You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near` で検索したらSQLのミスという記事がいくつか引っかかります。