Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用php的mysql更新表单问题使用旧信息而不是新更新不断更新_Php_Mysql - Fatal编程技术网

使用php的mysql更新表单问题使用旧信息而不是新更新不断更新

使用php的mysql更新表单问题使用旧信息而不是新更新不断更新,php,mysql,Php,Mysql,我对PHP完全陌生,正在编写一个地址簿,其中包含上述公司的公司和联系人。单击“提交”更新数据时,只需将其替换为原始数据。这是公司html表单: <html> <head><title>Update Records in MYSQL Database</title> <style> body {background-color: powderblue;} form {border: 5px soli

我对PHP完全陌生,正在编写一个地址簿,其中包含上述公司的公司和联系人。单击“提交”更新数据时,只需将其替换为原始数据。这是公司html表单:

<html>
<head><title>Update Records in MYSQL Database</title>
    <style>
        body {background-color: powderblue;}
        form {border: 5px solid midnightblue;
            padding: 40px;}
        label {color: darkblue;}
        form {border: 5px solid midnightblue;
            padding: 40px;
    </style>
</head>
<body>
<?php
    //Connect to the Database
    $link = mysqli_connect('localhost', '', '');
    //Select the Database
    mysqli_select_db($link, 'ADDRESS_BOOK_DB');
    //Select Query
    $sql = "SELECT * FROM Companies";
    //Execute the Query
    $records = mysqli_query($link, $sql);
?>
<form>
    <table>
        <tr>
            <th>CompanyName</th>
            <th>Address</th>
            <th>City</th>
            <th>State</th>
            <th>ZipCode</th>
            <th>PhoneNumber</th>
        </tr>
        <?php
        while($row = mysqli_fetch_array($records)) {
            echo "<tr><form action=update.php method='post'></form>";
            echo "<td><input type='text' name='CompanyName' value='" . $row['companyname1'] . "'></td>";
            echo "<td><input type='text' name='address' value='" . $row['address'] . "'></td>";
            echo "<td><input type='text' name='city' value='" . $row['city'] . "'></td>";
            echo "<td><input type='text' name='state' value='" . $row['state'] . "'></td>";
            echo "<td><input type='text' name='zipcode' value='" . $row['zipcode'] . "'></td>";
            echo "<td><input type='text' name='phone' value='" . $row['phone'] . "'></td>";
            echo "<td><input type=hidden name=companies_id value='" . $row['companies_id'] . "'>";
            echo "<td><input type='submit'>";
            echo "</form></tr>";
        }
    ?>
    </table>
</form>
</body>
</html>

在MYSQL数据库中更新记录
正文{背景色:粉蓝;}
形态{边框:5px纯色夜蓝色;
填充:40px;}
标签{color:darkblue;}
形态{边框:5px纯色夜蓝色;
填充:40px;
公司名称
地址
城市
陈述
ZipCode
电话号码

首先用
WHERE
子句
$sql=“SELECT*FROM companys”将条件放在这里
您要更新数据库中的哪一条记录。似乎您正在从
表单中的数据库中获取所有记录

在while循环开始时关闭
表单
标记,并保留其余输入字段,而不使用
表单

改变这个

while($row = mysqli_fetch_array($records)) {
        echo "<tr><form action=update.php method='post'></form>";
        echo "<td><input type='text' name='CompanyName' value='" . $row['companyname1'] . "'></td>";
        echo "<td><input type='text' name='address' value='" . $row['address'] . "'></td>";
        echo "<td><input type='text' name='city' value='" . $row['city'] . "'></td>";
        echo "<td><input type='text' name='state' value='" . $row['state'] . "'></td>";
        echo "<td><input type='text' name='zipcode' value='" . $row['zipcode'] . "'></td>";
        echo "<td><input type='text' name='phone' value='" . $row['phone'] . "'></td>";
        echo "<td><input type=hidden name=companies_id value='" . $row['companies_id'] . "'>";
        echo "<td><input type='submit'>";
        echo "</form></tr>";
    }
while($row=mysqli\u fetch\u数组($records)){
回声“;
回声“;
回声“;
回声“;
回声“;
回声“;
回声“;
回声“;
回声“;
回声“;
}

?>

请减少LOL,减少粗体,更多地描述实际问题。警告:当使用
mysqli
时,您应该使用and将用户数据添加到您的查询中。不要使用字符串插值或连接来完成此操作,因为您创建了严重的错误。切勿直接放置
$\u POST
$\u获取
数据在一个查询中,如果有人试图利用你的错误,这可能是非常有害的。开头和结尾的3个记号只有在我提交给slack上的首席开发人员时才放在那里。因此,3个记号是在错误开始后放在那里的。我只是忘了清除它们。谢谢tadman,我不知道你提到的这个信息。我会补救的我很快就收到了帮助。
while($row = mysqli_fetch_array($records)) {
        echo "<tr><form action=update.php method='post'></form>";
        echo "<td><input type='text' name='CompanyName' value='" . $row['companyname1'] . "'></td>";
        echo "<td><input type='text' name='address' value='" . $row['address'] . "'></td>";
        echo "<td><input type='text' name='city' value='" . $row['city'] . "'></td>";
        echo "<td><input type='text' name='state' value='" . $row['state'] . "'></td>";
        echo "<td><input type='text' name='zipcode' value='" . $row['zipcode'] . "'></td>";
        echo "<td><input type='text' name='phone' value='" . $row['phone'] . "'></td>";
        echo "<td><input type=hidden name=companies_id value='" . $row['companies_id'] . "'>";
        echo "<td><input type='submit'>";
        echo "</form></tr>";
    }
?>
<form action=update.php method='post'>
<?php
while($row = mysqli_fetch_array($records)) {

        echo "<td><input type='text' name='CompanyName' value='" . $row['companyname1'] . "'></td>";
        echo "<td><input type='text' name='address' value='" . $row['address'] . "'></td>";
        echo "<td><input type='text' name='city' value='" . $row['city'] . "'></td>";
        echo "<td><input type='text' name='state' value='" . $row['state'] . "'></td>";
        echo "<td><input type='text' name='zipcode' value='" . $row['zipcode'] . "'></td>";
        echo "<td><input type='text' name='phone' value='" . $row['phone'] . "'></td>";
        echo "<td><input type=hidden name=companies_id value='" . $row['companies_id'] . "'>";
        echo "<td><input type='submit'>";

    }

?>
</form>