我是一个相当新的php和sql试图弄清楚只需点击一次更新表单按钮。该程序已经有一个添加,搜索和删除工作正常,只需要让它工作。它似乎正在更新,但在我再次点击之前它不会输出更新。这是我的代码:
if (isset($_POST['update']) &&
isset($_POST['name']) &&
isset($_POST['planet']) &&
isset($_POST['country']) &&
isset($_POST['population']) &&
isset($_POST['density']))
{
$name = get_post($conn, 'name');
$planet = get_post($conn, 'planet');
$country = get_post($conn, 'country');
$population = get_post($conn, 'population');
$density = get_post($conn, 'density');
$sql = "UPDATE cities SET planet = '$planet', country = '$country', population = '$population', density = $density WHERE name = '$name' ;";
$result = $conn->query($sql);
if (!$result) die ("Database access failed: " . $conn->error);
}
echo <<<_END
<pre>
name $row[0]
planet $row[1]
country $row[2]
population $row[3]
density $row[4]
</pre>
<form action="Hw05.php" method="post"><pre>
<input type="hidden" name="update" value="yes">
name <input type="text" name="name" value="$row[0]">
planet <input type="text" name="planet" value="$row[1]">
country <input type="text" name="country" value="$row[2]">
population <input type="int" name="population" value="$row[3]">
density <input type="int" name="density" value="$row[4]">
<input type="submit" value="UPDATE RECORD">
</pre></form>
_END;
任何帮助都会受到赞赏,就像我说我是Php / mysql的新手,更像是Java家伙。 (但我喜欢php)。
答案 0 :(得分:0)
在$row
中存储数据的查询不在您的代码中,因此我认为此查询是在UPDATE查询之前完成的。您应该在UPDATE之后进行SELECT查询,因为在更新表之前选择了$ row中的数据。
答案 1 :(得分:0)
在更新发生之前,可能会填充您的变量。您需要再次执行SELECT查询以获取更新的值。