2016-12-05 75 views
-1

我想對mySQL數據庫執行多個更新。它似乎只執行最後的sql語句。多個SQL語句PHP

<?php 
$AppName1 = "////MilAppName"; 
$AppName2 = "////MilAuditors"; 
$AppNewName = "Iabc"; 
$AppNewName1 = "Iabcd"; 
$conn = mysqli_connect("*****", "****", "****", "****"); 
if (!$conn) { 
die("Connection failed: " . mysqli_connect_error()); 
} 

$sql = "UPDATE AppName SET AppTitle = '$AppNewName' WHERE Plant = '$AppName1'"; 
$sql = "UPDATE Auditors SET Auditor1 = '$AppNewName1' WHERE Plant = '$AppName2'"; 


if (mysqli_query($conn, $sql)) { 
echo "Record updated successfully"; 
} else { 
echo "Error updating record: " . mysqli_error($conn); 
} 

mysqli_close($conn); 
?> 
+0

您正在覆蓋'$ sql'而不是追加到它。我建議爲每個更新做一個查詢,而不是試圖鏈接它們。 – aynber

+0

您對$ sql的第二項任務將覆蓋第一個 – Birdman

+0

指向文檔的鏈接http://php.net/manual/en/mysqli.multi-query.php – Michas

回答

0

你只是1 mysqli_query($conn, $sql)並運行它運行的時候,您的$sql變量僅持有第二個查詢。

您需要在每個$sql聲明後運行mysqli_query()

或者你也可以命名2個變量保持2個查詢不同的是這樣的:

$sql1 = "UPDATE AppName SET AppTitle = '$AppNewName' WHERE Plant = '$AppName1'"; 
$sql2 = "UPDATE Auditors SET Auditor1 = '$AppNewName1' WHERE Plant = '$AppName2'"; 


if (mysqli_query($conn, $sql1) && mysqli_query($conn, $sql2)) { 
    echo "Record updated successfully"; 
} else { 
    echo "Error updating record: " . mysqli_error($conn); 
} 
0

你在做什麼,正在取代SQL語句,你需要聲明2個變種名稱或更換了聲明執行SQL:

$sql = "UPDATE AppName SET AppTitle = '$AppNewName' WHERE Plant = '$AppName1'"; 

if (mysqli_query($conn, $sql)) { 
    $sql = "UPDATE Auditors SET Auditor1 = '$AppNewName1' WHERE Plant = '$AppName2'"; 
    if (mysqli_query($conn, $sql)) { 
     echo "Record updated successfully"; 
    }else { 
     echo "Error updating record: " . mysqli_error($conn); 
    } 
} else { 
    echo "Error updating record: " . mysqli_error($conn); 
} 


$sql1 = "UPDATE AppName SET AppTitle = '$AppNewName' WHERE Plant = '$AppName1'";  
$sql2 = "UPDATE Auditors SET Auditor1 = '$AppNewName1' WHERE Plant = '$AppName2'"; 

if (mysqli_query($conn, $sql1)) { 
    if (mysqli_query($conn, $sql2)) { 
     echo "Record updated successfully"; 
    }else { 
     echo "Error updating record: " . mysqli_error($conn); 
    } 
} else { 
    echo "Error updating record: " . mysqli_error($conn); 
}