このページを使用して、ニュースレターを更新したか、新しいニュースレターを作成したかどうかを確認します。これは、データベースに何の問題を接続しないと更新されますが、私はそれが私にこのエラーを与えるとして、それは新鮮なものを挿入するために取得することはできません。PHPのifステートメントの奇妙な問題
Error: 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 '' at line 1
私はif文を削除し、ちょうど新しいを挿入するためにそれを強制した場合それは問題なしで動作します。
アドバイスをいただければ幸いです。ありがとうございます。
<?php
$server = "localhost";
$username = "user";
$password = "****";
$database = "test";
$con = mysql_connect($server, $username, $password);
$title = $_POST["title"];
$body = $_POST["body"];
$transaction = "Record Added";
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db($database, $con);
if(isset($_POST["id"]))
{
$sql = "INSERT INTO newsletter (date, title, body)
VALUES('1990-12-12', '$title', '$body')";
}
else
{
$id = $_POST["id"];
$transaction = "Record Updated";
$sql = "UPDATE newsletter SET title='".$title."', body='".$body."' WHERE newsletterId =".$id;
}
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
echo $transaction;
mysql_close($con);
?>
クエリを引用しますか? – Jules
if()内に$ sqlの値を出力し、 – Shocker
を表示します。SQLインジェクションに対して脆弱な2つのフィルタリングされていない値 '$ title'と' $ body'があります。 ''。 –