在PHP中写入多个表

$sql = "INSERT INTO images (path, useremail, approved, flagged,caption,date) VALUES ('$target','$email',0,0, '$caption','$b')"; $sql1 = "INSERT INTO users (name, email, phone) VALUES ('$peoplename','$email','$phone')" $conn->execute($sql, $sql1); 

以上是我正在使用的代码尝试写入2个表格。 在通过COM对象引入连接之前,I可以做到这一点不成问题,但是现在由于某种原因我不能这样做。 任何帮助,将不胜感激。

我认为第二个参数是传递参数绑定到查询。

如果服务器让你一次执行两个sql语句,也许这将工作。 (在每个查询的末尾添加了一个终止分号,并将两个查询连接在一起作为一个字符串)。

 $sql = "INSERT INTO images (path, useremail, approved, flagged,caption,date) VALUES ('$target','$email',0,0, '$caption','$b');"; $sql1 = "INSERT INTO users (name, email, phone) VALUES ('$peoplename','$email','$phone');"; $conn->execute($sql . $sql1); 

否则显而易见

  $conn->execute($sql); $conn->execute($sql1); 

你在第二行有一个缺少的分号。

为什么不把它作为一个SQL语句?

 $sql = "INSERT INTO images (path, useremail, approved, flagged,caption,date) VALUES ('$target','$email',0,0, '$caption','$b'); INSERT INTO users (name, email, phone) VALUES ('$peoplename','$email','$phone')"; $conn->execute($sql); 

德鲁,我不是一个PHP大师,但我看到在其他答案中缺少的一件事是事务完整性。 即使在同一个字符串中用分号分隔两个INSERT,也确保了动作的原子性(如果这对您很重要:-)

希望这可以帮助