-2

このコードは、指定された書籍のデータベース レコードを更新することになっています。この関数に必要なデータを渡すフォームがあり、そのフォームにエラーはありませんが、UPDATE MySQL へのクエリを間違ってフォーマットしたのではないかと心配しています。誰かが私のためにこれを確認できますか? MySQL クエリ文字列のフォーマットを覚えるのにいつも苦労しているようです。ドキュメントを見ずにすばやく覚える方法についてのヒントがあれば、大歓迎です。

function saveBook ($ID, $Title, $Author, $Type, $Section, $AvailableMaterial)
{
    $query = "UPDATE Publications SET Title = '$Title', Author = '$Author', Section = '$Section', Type = '$Type', AvailableMaterial = '$AvailableMaterial' WHERE ID = '$ID'";
$result = mysql_query($query);
    if (!$result)
    {
    die('Query Failed: ' . mysql_error());
    }
    return HEADER ("LOCATION: /lightBox/close.php");
}
4

1 に答える 1

1

いいえ、このコードは正しくありません。

 $query = "UPDATE Publications SET `Title` = '".$Title."', `Author` = '".$Author."', `Section` = '".$Section."', `Type` = '".$Type."', `AvailableMaterial` = '".$AvailableMaterial."' WHERE `ID` = '".(int)$ID."'";

優れている。type は mysql の予約キーなので、バックティックが必要です。

そして、「savebook」に送信する前にすべてのデータをエスケープすると仮定します

于 2012-08-29T17:49:59.920 に答える