PHP / Mysql中的更新按钮需要点击两次才能工作?

时间:2017-03-04 16:13:21

标签: php html sql forms mysqli

我是一个相当新的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)。

2 个答案:

答案 0 :(得分:0)

$row中存储数据的查询不在您的代码中,因此我认为此查询是在UPDATE查询之前完成的。您应该在UPDATE之后进行SELECT查询,因为在更新表之前选择了$ row中的数据。

答案 1 :(得分:0)

在更新发生之前,可能会填充您的变量。您需要再次执行SELECT查询以获取更新的值。