簡體   English   中英

使用php編程更新mysql表中的字段值

[英]Update field value in mysql table using php programming

$id = $_REQUEST["Uid"];

$query = "update prd set name='".$_POST['nm']."', char='".$_POST['ch']."', price='".$_POST['pr']."', sp_pri='".$_POST['spr']."', is_eli='".$_POST['enb']."', upd='".$_POST['ud']."', img='".$_FILES['img']['name']."', c_id='".$_POST['cid']."' where id=".$id;

$r = mysql_query($query) or die(mysql_error());
if ($r == 1)
    echo "Record Updated";

我從此查詢中收到以下錯誤,但不確定如何解決-SQL對我來說看起來不錯! 我究竟做錯了什么?

您的SQL語法有誤; 檢查與您的MySQL服務器版本相對應的手冊以獲取正確的語法,以在'char ='b',price ='150',sp_pri ='100',is_eli ='Yes',upd ='mon附近使用七月23 2012 17 :23:24'在第1行

char是SQL中的保留字。 如果您將此類關鍵字用作列名,則必須將它們括在反引號中(因為您應該始終對列名進行處理)!

$query="update prd set `name`='".$_POST['nm']."', `char`='".$_POST['ch']."', `price`='".$_POST['pr']."', `sp_pri`='".$_POST['spr']."', `is_eli`='".$_POST['enb']."', `upd`='".$_POST['ud']."', `img`='".$_FILES['img']['name']."', `c_id`='".$_POST['cid']."' where `id`=".$id;

此外,通過將$_POST變量直接添加到查詢中而不先清理它們,您就可以使系統遭受任何形式的攻擊,這些攻擊會危害您的數據和網站。

看看mysqliPDO可以避免此類問題。

除了Sirko的建議外,在upd字段的分配中(這是一個日期),您應該使用STR_TO_DATE

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM