-1
PHP代碼手冊:您的SQL語法有錯誤;檢查對應於你的MySQL服務器版本正確的語法使用附近的
if (isset($_REQUEST['SUBMIT'])) {
$name=mysql_real_escape_string($_REQUEST['menname']);
$dic=mysql_real_escape_string($_REQUEST['pagedec']);
$ID=$_REQUEST['id'];
$query=mysql_query("UPDATE `header_menu` SET `name`=$name,`contant`=$dic WHERE `id` = $ID");
if ($query == true) {
echo '<h1>Updated sucessfully. <a href="man_menu.php">Click</a> for manege header links</h1>';
}else{
echo mysql_error();
}
# code...
}else{
header('Location:404.php');
}
表單代碼:
<div class="maincontent noright">
<div class="maincontentinner">
<ul class="maintabmenu">
<li class="current"><a href="">update header Menu [<?php echo $get_header_record_final['name']; ?>]</a></li>
</ul><!--maintabmenu-->
<div class="content">
<form class="stdform stdform2" id="banner" method="post" action="edit_header_done.php" enctype="multipart/form-data">
<p>
<label>Menu Name</label>
<span class="field"><input type="text" name="menname" class="longinput" value="<?php echo $get_header_record_final['name']; ?>"/></span>
</p>
<p>
<label>Menu Page contant</label>
<span class="field"><textarea id="body" name="pagedec"><?php echo $get_header_record_final['contant']; ?></textarea></span>
</p>
<p>
<label></label>
<span class="field">
<input type="hidden" name='id' value="<?php echo $ID ?>">
<button type="submit" class="stdbtn btn_black" style="opacity: 1;" name="SUBMIT">Update Now</button>
<input type="reset" class="reset radius2" value="Reset" /></span>
</p>
</form>
我從我的網站上創建我的管理面板。在這個網站我添加了一些先進功能;當我更新新的一頁我得到這個錯誤:
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 's need and maximizing stake holders value, AIF sees its customers as a business ' at line 1
字符串值中去單引號。 – mario
'mysql_real_escape_string'應該用於在[字符串文字](http://dev.mysql.com/doc/refman/5.5/en/string-literals.html)中使用的值;如果你不把它們放到字符串文字中,'mysql_real_escape_string'不會保護你免受SQL注入。就像在這種情況下一樣。 – Gumbo
請不要使用'mysql_'。它已被棄用,並且不支持預準備語句。對準備好的語句或PDO使用'mysqli_'。這也可以避免這個問題。 –