2012-09-02 38 views
-1

它在应用程序上执行完美我再次检查它。它正确地发送所有参数,问题是在PHP脚本它不执行查询(更新,删除)它正确执行插入查询。该PHP脚本完美的HTML形式,但我不知道问题在哪里。使用HTTP POST方法通过php更新mysql数据库

这里是我的PHP脚本:

 $mysql_host = "localhost"; 
    $mysql_database = "locator"; 
    $mysql_user = "root"; 
    $mysql_password = ""; 
    mysql_connect($mysql_host,$mysql_user,$mysql_password) or die(mysql_error()); 
    mysql_select_db($mysql_database); 
    $uMail = $_POST['u_mail']; 
    $uIMEI = $_POST['u_IMEI']; 
    $uName = $_POST['u_name']; 
    $uPass = $_POST['u_pass']; 
    $tName = $_POST['t_names']; 
    $tIMEI = $_POST['t_IMEIs']; 
    $tDesc = $_POST['t_desc']; 
    mysql_query("UPDATE user_master SET t_names='$tName',t_IMEIs='$tIMEI',t_desc= '$tDesc'  WHERE u_mail = '$uMail' AND u_IMEI = '$uIMEI'"); 
    mysql_close(); 
    ?>

+1

您有SQL注入漏洞。 – SLaks

+0

请不要将'mysql_ *'函数用于新代码。他们不再被维护,社区已经开始[弃用流程](http://goo.gl/KJveJ)。请参阅[**红框**](http://goo.gl/GPmFd)?相反,您应该了解[准备好的语句](http://goo.gl/vn8zQ)并使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli的)。如果你不能决定,[本文](http://goo.gl/3gqF9)将有助于选择。如果你关心学习,[这是一本很好的PDO教程](http://goo.gl/vFWnC)。 – PeeHaa

+3

P.S.我相信你的键盘缺少一些键。所以你可能想检查一下。 – PeeHaa

回答

0

也许你应该用mysql_real_escape_string()

$uMail = mysql_real_escape_string($_POST['u_mail']); 
$uIMEI = mysql_real_escape_string($_POST['u_IMEI']); 
$uName = mysql_real_escape_string($_POST['u_name']); 
$uPass = mysql_real_escape_string($_POST['u_pass']); 
$tName = mysql_real_escape_string($_POST['t_names']); 
$tIMEI = mysql_real_escape_string($_POST['t_IMEIs']); 
$tDesc = mysql_real_escape_string($_POST['t_desc']); 
mysql_query("UPDATE user_master SET t_names='$tName',t_IMEIs='$tIMEI',t_desc= '$tDesc'  WHERE u_mail = '$uMail' AND u_IMEI = '$uIMEI'"); 

逃脱你的字符串,并确保$uMail$uIMEI正确设置