mysql サーバーでテーブルを更新しようとすると、奇妙な問題が発生します。
コード:
$name = trim(FilterText($_POST['name']));
$description = trim(FilterText($_POST['description']));
$type = $_POST['type'];
if($groupdata['type'] == "3" && $_POST['type'] != "3"){ echo "You may not change the group type if it is set to 3."; exit; } // you can't change the group type once you set it to 4, fool
if($type < 0 || $type > 3){ echo "Invalid group type."; exit; } // this naughty user doesn't even deserve an settings update
if(strlen(HoloText($name)) > 25){
echo "Name too long\n\n<p>\n<a href=\"".WWW."/groups/".$groupid."/id\" class=\"new-button\"><b>Done</b><i></i></a>\n</p>\n\n<div class=\"clear\"></div>";
} elseif(strlen(HoloText($description)) > 200){
echo "Description too long\n\n<p>\n<a href=\"".WWW."/groups/".$groupid."/id\" class=\"new-button\"><b>Done</b><i></i></a>\n</p>\n\n<div class=\"clear\"></div>";
} elseif(strlen(HoloText($name)) < 1){
echo "Please give a name\n\n<p>\n<a href=\"".WWW."/groups/".$groupid."/id\" class=\"new-button\"><b>Done</b><i></i></a>\n</p>\n\n<div class=\"clear\"></div>";
} else {
mysql_query("UPDATE groups SET name = '".$name."', type = $type, desc='".$description."' WHERE id = $groupid AND ownerid = '".USER_ID."' LIMIT 1") or die(mysql_error());
echo "Editing group settings successful\n\n<p>\n<a href=\"".WWW."/groups/".$groupid."/id\" class=\"new-button\"><b>Done</b><i></i></a>\n</p>\n\n<div class=\"clear\"></div>";
}
グループを更新するための mysql_query で、desc=blahblahbla を挿入するときに SQL 構文にエラーがあるというエラーが表示され続けます。
クエリから「desc」の部分を取り除き、名前とタイプのみを挿入すると、クエリは完全に機能しますが、クエリに desc を追加すると、再びエラーがスローされます。desc 部分に '' はありません。これはそれを詰め込む可能性があり、あったとしても、コードの最初でそれらをフィルタリングしました。
どんな助けでも大歓迎です。
ご参考までに、私はCMSを使用しています
前もって感謝します!:)