【发布时间】:2017-07-24 16:52:36
【问题描述】:
我对 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)。
【问题讨论】:
-
你的
$row从哪里来?你没有在任何地方定义它。而且在您的代码中,heredoc_END前面有一个空格。在heredoc结束之前不应该有任何规范,在刚刚结束heredoc之后必须有一个新行。