0
问题:我在使用PHP将输入更新到sql时遇到了问题,PHP将所有空值更新到我不想要的sql中。如何只更新提交按钮填充输入?
成就:所以我希望当用户提交数据为空或填充时,然后PHP可能能够拾取和更新只填充数据到我的SQL。我尝试使用输入value =“> PHP回声这里<”但它不会与textarea一起工作,所以我找不到任何解决方案,因为我是PHP和SQL的新手。试图找到类似的职位,但我不能让他们的工作就像我想:(
<?php include 'config/sqlconnect.php'; ?>
<form method="post" action"config/sqlconnect.php">
</p>MainPage info</p>
<input type="text" name="mainPageInfo"/>
<br>
</p>MiddlePage info</p>
<textarea name="middlePageInfo"></textarea>
<br>
</p>Container info</p>
<input type="text" name="containerInfo"/>
<br>
</p>Content</p>
<input type="text" name="content"/>
<br>
</p>Second content</p>
<input type="text" name="secondContent"/>
<input type="submit" name="submit" class="btn-block"/>
<br>
</form>
在PHP脚本
<?php
$servername = "localhost";
$username = "root";
$password = "pass";
$dbname = "pagesDb";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
mysqli_set_charset($conn,"utf8");
$sql = "SELECT * FROM myPages";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
$mainPageInfo = $row['mainPageInfo'];
$middlePageInfo = $row['middlePageInfo'];
$containerInfo = $row['containerInfo'];
$content = $row['content'];
$secondContent = $row['secondContent'];
}
} else {
echo "0 results";
}
if (isset($_POST['submit'])) {
$mainPageInfo = $_POST['mainPageInfo'];
$middlePageInfo = $_POST['middlePageInfo'];
$containerInfo = $_POST['containerInfo'];
$content = $_POST['content'];
$secondContent = $_POST['secondContent'];
$sql = "UPDATE myPages SET mainPageInfo='$mainPageInfo',
middlePageInfo='$middlePageInfo',
containerInfo='$containerInfo',
content='$content',
secondContent='$secondContent'
WHERE id=0";
if ($conn->query($sql) === TRUE) {
echo "Record updated successfully";
} else {
echo "Error updating record: " . $conn->error;
}
}
$conn->close();
?>
二尝试:它不以某种方式更新我的数据。 ..请帮助我试图超过8小时,没有结果:(
if (isset($_POST['submit'])) {
foreach($_POST as $name => $value) {
$sql = "UPDATE myPages SET $name = '$value' WHERE id=1";
}
if ($conn->query($sql) === TRUE) {
echo "Record updated successfully";
} else {
echo "Error updating record: " . $conn->error;
}
}
帮助,将不胜感激,谢谢大家!
您需要测试一个输入字段是否已由用户'isset()'或'!设置! emprty()',然后根据输入的字段动态构建更新查询。您还需要从页面传回'id',以便每次更新表格中的正确行而不是使用'id = 0'的行 – RiggsFolly
也仅仅是一点,'id'永远不为零,它们开始在一,假设这是一个自动增加列 – RiggsFolly
@RiggsFolly这只是我的形式和PHP的一个例子,我不知道如何检查'!empty()'动态,因为我有20个字段,不认为做尽管1比1会是个想法,但我现在已将我的ID从0更改为1。我不需要多个ID,这是一个数据库,可以让我的'WORDING'显示在网站上。因此,我可以在cms上更新它们 – PizzaBoy