我在遵循php代码进行更新时出错
下面的查询不起作用我在遵循php代码进行更新时出错,php,mysql,Php,Mysql,下面的查询不起作用 $query= mysql_query('SELECT * FROM Registration WHERE name="'.$_POST['Username'].'" & password="'.$_POST['Password']); 在每个字段之间使用,而不是set。使用这个修改过的查询 ('UPDATE Registration SET name="'.$_POST['Username'].'" , password="'.$_POST['Password'
$query= mysql_query('SELECT * FROM Registration WHERE name="'.$_POST['Username'].'" & password="'.$_POST['Password']);
在每个字段之间使用
,
而不是set
。使用这个修改过的查询
('UPDATE Registration SET name="'.$_POST['Username'].'" , password="'.$_POST['Password'].'" , city="'.$_POST['City'].'" , state="'.$_POST['State'].'" , country="'.$_POST['Country'].'" WHERE id='.$_POST['user_id']);
在查询中只使用一次单词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 */
OP没有标记它<代码> MySqLI>代码>……“可能想考虑逃逸”应该是“绝对必须”,这仍然是一个语法错误,也是完全不安全的。