ポータル システムと統合するための非常に単純な php フォーラム システムを作成しています (いくつかの既存のものを統合しようとしましたが、見つけたすべてに不要な機能がたくさんあるので、独自のものを作成することにしました)。以下のページは、ボード作成ページの開始点にすぎませんが、送信をクリックすると、次のエラーが表示されます。SQL 構文にエラーがあります。MySQL サーバーのバージョンに対応するマニュアルで、1 行目の 'desc='Testing special characters á ó ç ã ñ'' 付近で使用する正しい構文を確認してください。
<?php
function renderForm($nome, $desc, $error)
{
$nome = htmlspecialchars($_POST['nome']);
$desc = htmlspecialchars($_POST['desc']);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>New Record</title>
</head>
<body>
<?php
if ($error != '')
{
echo '<div style="padding:4px; border:1px solid red; color:red;">'.$error.'</div>';
}
?>
<form action="" method="post">
<div>
<strong>Nome: *</strong> <input type="text" name="nome" /><br/>
<strong>Desc: *</strong> <input type="text" name="desc" /><br/>
<p>* required</p>
<input type="submit" name="submit" value="Submit">
</div>
</form>
</body>
</html>
<?php
}
include("../../config.php");
if (isset($_POST['submit']))
{
$nome = htmlspecialchars($_POST['nome']);
$desc = htmlspecialchars($_POST['desc']);
if ($nome == '' || $desc== '')
{
$error = 'ERROR: Please fill in all required fields!';
renderForm($nome, $desc, $error);
}
else
{
mysql_query("INSERT forum_boards SET nome='$nome', desc='$desc'")
or die(mysql_error());
}
}
else
{
renderForm('','','');
}
?>
これは何ですか?