【发布时间】:2017-04-28 15:05:48
【问题描述】:
我让它工作的唯一方法是使用empty。然而,这不是我想要的。如果必须的话,我希望能够留下一些空的东西。有谁知道我应该如何更改代码才能使其正常工作?
编辑页面:
<form name="homePage" action="update.php" method="POST">
<Strong>Change home title:</Strong>
<p>
<input style="width: 300px;" type="text" name="homeTitleChange" value="<?php echo $homeTitle ?>">
<input type="hidden" name="rowHomeID" value="<?php echo $getHomeID?>">
</p>
<Strong>Change home subtitle:</Strong>
<p>
<input style="width: 600px;" type="text" name="homeSubtitleChange" value="<?php echo $homeSubtitle ?>">
<input type="hidden" name="rowHomeID" value="<?php echo $getHomeID?>">
</p>
<input type="submit" class="btn btn-skin" name="homepage" value="save" />
</form>
查询页面:-
include("../conn.php");
include("../conn.php");
if(isset($_POST['homepage'])){
if(
!empty($_POST["homeTitleChange"])&&
!empty($_POST["homeSubtitleChange"]) &&
!empty($_POST["rowHomeID"])
){
$homeTitleUpdate = $_POST["homeTitleChange"];
$homeSubtitleUpdate = $_POST["homeSubtitleChange"];
$homeEditRow = $_POST["rowHomeID"];
$query = "UPDATE Home SET
title = '$homeTitleUpdate',
subtitle ='$homeSubtitleUpdate'
WHERE homeID = '$homeEditRow' ";
$result = mysqli_query($conn, $query) or die(mysqli_error($conn));
if ($result) {
echo "<p> - Success!</p>";
}else{
echo "<p> - Something went wrong</p>";
}
}
}
谢谢!
【问题讨论】:
-
首先,阻止你的SQL injection。其次,调试您的值并打开错误报告并告诉我们错误。
-
我假设您的意思是如果某些字段为空,您的数据库将不接受您的查询。您可以通过在字段中允许空值来解决数据库方面的问题
-
@EatPeanutButter
NULL和''(空字符串)是两个不同的东西 -
最好避开mysql,尽量使用PDO