Php 如何用多个列更新具有公共ID的两个表?

Php 如何用多个列更新具有公共ID的两个表?,php,mysql,Php,Mysql,这是我在PHP中运行的第一个表查询PersonID是表employee的主键,也是经验的外键 $query = mysqli_query($conn,"UPDATE employee SET Firstname = $fname, Lastname =$lname, email_id =$email, Mobile_no =$mobile, city=$city WHERE PersonID = $userid"); 我的第二个表查询 $query = mysqli_query($conn,

这是我在PHP中运行的第一个表查询PersonID是表employee的主键,也是经验的外键

$query = mysqli_query($conn,"UPDATE employee SET Firstname = $fname, Lastname =$lname, email_id =$email, Mobile_no =$mobile, city=$city  WHERE PersonID = $userid");
我的第二个表查询

$query = mysqli_query($conn,"UPDATE experience SET Company_name = $com, Location =$local, Year_Of_Experience =$year, Description =$description  WHERE id = $userid");
有人知道如何用多个列更新两个具有公共ID的表吗?

为值添加引号

$query = mysqli_query($conn,"UPDATE employee SET Firstname = '$fname', Lastname ='$lname', email_id ='$email', Mobile_no ='$mobile', city='$city'  WHERE PersonID = '$userid'");
此方法容易出现安全漏洞。为了更好的安全性,我建议使用prepared语句。你可以在这里学习如何做 及

您可以逐个执行查询,但查询也不例外,在字符列周围加单引号SPERSONID是表employee的主键,也是经验的外键。您的代码容易受到攻击。您应该通过或驱动程序将准备好的语句与绑定参数一起使用。有一些很好的例子。这是很糟糕的建议,使用这种技术会导致安全漏洞。请改用。对第二个查询执行相同操作。为项目添加单引号values@AlexHowansky哈哈…我只是想帮他指出他遗漏了什么。他对此感到高兴。就这么简单。它是有效的。如果您太担心这些漏洞,请提供一份准备好的声明。是的,我理解,并感谢您的努力,但这种方法存在两个问题。主要原因是@knight007现在已经养成了一个坏习惯。但是,其他未来的用户也会看到这个答案被接受,从而根据它来编写自己的代码,进一步传播这个问题。在我发布的链接中有很多准备好的声明的例子。