我有以下代码的PHP更新错误

时间:2014-05-19 05:01:58

标签: php mysql

以下查询无效

$query= mysql_query('SELECT  * FROM Registration WHERE name="'.$_POST['Username'].'" & password="'.$_POST['Password']);

2 个答案:

答案 0 :(得分:2)

仅在查询中使用 SET 一词。并通过逗号)分隔每个数据。

在将变量字符串用于查询之前,您还应该考虑转义变量字符串。

如果您使用 MySQLi ,则可以执行以下操作:

$username=mysqli_real_escape_string($connection,$_POST['Username']);
$password=mysqli_real_escape_string($connection,$_POST['Password']);
$city=mysqli_real_escape_string($connection,$_POST['City']);
$state=mysqli_real_escape_string($connection,$_POST['State']);
$country=mysqli_real_escape_string($connection,$_POST['Country']);
$userid=mysqli_real_escape_string($connection,$_POST['user_id']);

$query="UPDATE Registration SET name='$username', password='$password', city='$city', state='$state', country='$country' WHERE id='$userid'";

mysqli_query($connection,$query); /* EXECUTE QUERY */

答案 1 :(得分:0)

在每个字段之间使用,代替set。使用此更改的查询,

('UPDATE Registration SET name="'.$_POST['Username'].'" , password="'.$_POST['Password'].'" , city="'.$_POST['City'].'" , state="'.$_POST['State'].'" , country="'.$_POST['Country'].'" WHERE id='.$_POST['user_id']);