私が持っているphpスクリプトに問題があります。
if(!empty($_POST['iblogtitle']))
{
$ptitle = mysqli_real_escape_string($link, $_POST['iblogtitle']);
$pcontent = mysqli_real_escape_string($link, $_POST['iblogcontent']);
$pblogid = mysqli_real_escape_string($link, $_POST['iblogid']);
$query = "UPDATE blog SET PostTitle='" . $ptitle . "', PostContent='" . $pcontent . "', PostDate=NOW() WHERE PostID='" . $pblogid . "'";
$sql = mysqli_query($link, $query);
if($sql)
{
header("LOCATION: blog.php");
}
else
{
$result = "Blog update failed: " . mysqli_error($link) . " / " . $query;
echo $result;
}
}
私が抱えている問題は、このif
ステートメントが入力されたとき、明らかに$_POST['iblogtitle']
値がなければならないということです。ただし、チェックして再チェックし、値を$query
含めないように変更しmysqli_real_escape_string
、毎回更新に失敗しました。
エラーを受け取りました:
Blog update failed: / UPDATE blog SET PostTitle='', PostContent='', PostDate=NOW() WHERE PostID=''
実際の MySQL エラーはありません。error_reporting がオフになっていることを確認しerror_reporting(1)
、変数宣言のすぐ上に設定しました。