2016-12-05 2 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 переменная содержит только второй запрос.

Вам необходимо запустить mysqli_query() после каждого объявления $sql.

Или вы можете назвать 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 имена Var или заменить заявление после того, как вам выполнить 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); 
} 
Смежные вопросы