[PHP-users 33449] SQL文insert実行について

kaz okui @ sannet.ne.jp
2008年 4月 6日 (日) 12:33:09 JST


こんにちは
phpからSQLでinsertが実行できません。
$a = "2008-01-08";
$b = "/home/sus/2008";
$f = "cocolo20080110.mp3";
$query = "insert INTO recording_file (date,station,location,file) VALUES ($a,1,mysql_real_escape_string($b),mysql_real_escape_string($f))";
$result = mysql_query($query);
if (!$result) {
    $message  = 'Invalid query: ' . mysql_error() . "\n";
    $message .= 'Whole query: ' . $query;
    die($message);
}

データベースに接続して上記を実行するとmysql_error()により以下が表示されます。
Invalid query: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '/home/sus/2008),mysql_real_escape_string(cocolo20080110.mp3))' at line 1

mysqlのコマンドラインでは正常にinsertできます
mysql> insert INTO recording_file (date,station,location,file) VALUES ("2008-01-08",1,"/home/sus/2008","cocolo20080110.mp3");

selectやdeleteはできるのですがinsertができません。
phpにエラーはでていません。
phpからmysqlに送る文が間違っているのだと思いますがわからず煮詰まってます。なにかヒントでも指摘して頂けると有り難いです。


PHP-users メーリングリストの案内