2016-08-22 102 views
4

我有一个遗留系统,我有一个PHP文件里面,更新一个表。现在我添加了一个新表到我的数据库,我也想更新该表。问题是(由于某些原因)我不能使用另一个查询,我不得不改变当前的查询。如何更新另一个更新查询中的新表?

简化前查询:$q = "UPDATE t1 SET var=$var WHERE id=1";

,因为它添加了太多的处理时间我不能使用"UPDATE t1,t2 SET t1.var=$var t2.var=$var2 WHERE id=1"。 是否有可能在一个查询中运行两个更新查询?我在整个系统中使用了mysql命令,我无法将其更改为mysqli

+0

mysqli的具有多查询功能:http://php.net/manual/en/mysqli.multi-query.php – jeff

+0

@jeff感谢。但正如我在问题中提到的,我无法升级到它。 – ananda

+0

应该没有理由不能一个接一个地运行2个查询。为什么你不能这样做 – RiggsFolly

回答

0

您可以使用下面的代码同时更新2个表格。 :-)

<?php 
$servername = "localhost"; 
$username = "username"; 
$password = "password"; 
$dbname = "myDB"; 

$conn = new mysqli($servername, $username, $password, $dbname); 
if ($conn->connect_error) {die("Connection failed: " . $conn->connect_error);} 

$sql = "UPDATE t1 SET var=$var WHERE id=1"; 
$sql2 = "UPDATE t2 SET var=$var WHERE id=1"; 

if ($conn->query($sql) === TRUE) { 
    echo "t1 updated successfully"; 
} else { 
    echo "Error updating t1: " . $conn->error; 
} 

if ($conn->query($sql2) === TRUE) { 
    echo "t2 updated successfully"; 
} else { 
    echo "Error updating t2: " . $conn->error; 
} 

$conn->close(); 
?> 
+0

谢谢你的回应。但您正在运行两个单独的查询。我想要的是一个查询。 – ananda