2016-12-05 77 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); 
}