2012-07-16 41 views
-3

我已經設置了以下形式的MySQL(PHP)時:防止執行數學式中輸入字段增值

<form name="pric" method="post" action="up.php"> 
    <div id="prices_col">Season A<br> 
     <input type='text' name="date0" maxlength="13" size="15" style="font-size: 9px;" value="<?php echo $_date[0]?>" /> 
    </div> 
    <div align="middle"><input type="submit" value="EDIT"></div> 
</form> 

在數據庫中的信息,現在是這樣的($ _date [0]包含):

04/06 - 25/06

發佈的信息後,決定進行表達,我是這樣的:

-1.333333333

我使用下面的代碼:

$_date[0] = trim($_POST["date0"]); 
mysql_query("UPDATE price SET _date=".$_date[0]." WHERE id='0'") or die(mysql_error()); 

我該如何阻止它執行?我需要將該值作爲純文本存儲到數據庫。

+2

文本字段和mysql_real_escape_string是什麼'$ _DATE [0]'包含哪些內容? up.php中有什麼? – 2012-07-16 13:49:51

+0

我們可以看到PHP表單up.php嗎? – Onheiron 2012-07-16 13:50:10

+0

你怎麼得到-1.3333? SELECT COUNT(date_field)? – Waygood 2012-07-16 13:51:32

回答

1
mysql_query("UPDATE `price` SET `_date`='".mysql_real_escape_string(trim($_POST["date0"]))."' WHERE `id`=0") or die(mysql_error()); 

爲_DATE是出於安全

+0

是你的引用日期?我也添加了mysql_real_escape_string。首先回聲SQL,看看你在做什麼。 $的SQL = 「.....」; echo $ sql;的mysql_query($的SQL); – Waygood 2012-07-16 14:22:05

+0

是的!這是工作!謝謝 :) – user1384668 2012-07-16 14:23:57