【发布时间】:2016-08-19 01:27:52
【问题描述】:
我一直在尝试创建一个更新表单。这个想法是我网站中的一些链接应该在更新时改变。我已经做到了,但我想要的是表单末尾的“回显“更改成功!”只显示一次。
<?php
//credentials
if (isset($_POST["submit"])){
$server = 'server';
$user = 'user';
$pw = 'password';
$BD = 'db-of-mine';
//estabelece a conexão
$conn = mysqli_connect($server, $user, $pw, $BD);
if (!$conn) {
die ('<span style="color: #FF0000;">"connection failed: "</span>' . mysqli_connect_error());
}
$home = $_POST["home"];
$apendix = $_POST["apendix"];
$sobre = $_POST["sobre"];
$contato = $_POST ["contato"];
$query1 = "UPDATE form SET home= '$home' WHERE id='1'";
$query2 = "UPDATE form SET apendix= '$apendix' WHERE id='1'";
$query3 = "UPDATE form SET sobre= '$sobre' WHERE id='1'";
$query4 = "UPDATE form SET contato= '$contato' WHERE id='1'";
//$query = "INSERT INTO form (home, apendix, sobre, contato) VALUES ('$home', '$apendix', '$sobre', '$contato')";
if (mysqli_query($conn, $query1)){
echo "Changes successfuly made!";
} else {
echo "ERROR" . $query . "<br>" . mysqli_error($conn);
}
mysqli_close($conn);
}
?>
上面的查询只改变了“home”的值。我已经设法通过复制和粘贴if (mysqli_query($conn, $query[number])) 来更改它们;例如,query2、query3、query4 等
但是当我这样做时,成功消息会出现四次。我希望能够一次全部更改,并且消息只显示一次。
另外,如果可能的话,如果表格留空,我希望这些值不要变为空白,这也是我遇到的问题。
提前致谢:D
【问题讨论】:
-
您可以在一个查询中完成所有这些更新。您也对 SQL 注入持开放态度。