2016-08-22 142 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