ここにはいくつかの潜在的な問題があります。
eventname
まず、 SQLインジェクションから逃れていません。うまくいけば、それmyusername
はすでに安全だと思います。以前にフィルタリングされていない場合は、でも使用mysql_real_escape_string()
し$_SESSION['myusername']
ます。
$eventname = mysql_real_escape_string($_POST['eventname']);
// Then you need space before VALUES and are missing a closing quote on $_SESSION['myusername'], which should be in {}
$sql = mysql_query("INSERT INTO $tbl_name VALUES('','$eventname','{$_SESSION['myusername']}')");
最後に、ステートメントが機能するために、に正確に3つの列があることを前提としています$tbl_name
。使用する列について明示する必要があります。の代わりに正しい列名を使用してcolname1, event_name, username
ください。
$sql = mysql_query("INSERT INTO $tbl_name (colname1, event_name, username) VALUES('','$eventname','{$_SESSION['myusername']}')");
SQL構文エラーの正確な場所は、を介したいくつかの基本的なエラーチェックで明らかになりますmysql_error()
。
$sql = mysql_query(<your insert statement>);
if (!$sql) {
echo mysql_error();
}