php - 一个 PHP 表单保存到 MySQL,另一个则不保存,不知道为什么

标签 php mysql

我们有一个 PHP 网站,其中包含保存到数据库的多种表单。我们有两个页面都保存相似的信息。正确保存所有这些信息。我正在尝试纠正第二个错误,它无法保存其中一个字段,area_info。

是否应该像我编辑 .php 文件并从有效的文件中复制 UPDATE 语句并将其放入无效的文件中一样简单?

检查非工作页面上的元素,未保存的字段的文本框显示为:

<input type="text" value="" name="area_info[10]">

在工作页面上,当我输入“TestingAgain”作为值并单击“保存”后,相同的字段为:

<input type="text" size="25" value="TestingAgain" name="area_info[1]">

这是粘贴的代码

不起作用

$get_area_id_sql = "
    SELECT   area_id
    FROM     areas
    WHERE    contest_id = $contest_id ";

    $get_area_id = mysql_query($get_area_id_sql) or die($get_area_id_sql);


while ($row = mysql_fetch_array($get_area_id)) {
    $ar_id = $row['area_id'];
    $ar_info = $area_info[$ar_id];

    if (isset($area_info[$ar_id])) {

        $ar_info_update_sql = "
        UPDATE  tracking.areas
        SET area_info = \"$ar_info\"
        WHERE   area_id = \"$ar_id\" ";

        mysql_query($ar_info_update_sql) or die($ar_info_update_sql);

适用于字段,但在不同的 PHP 文件中

for($x = 1; $x <= 100; $x++) {
    if(trim($area_name[$x]) <> $null) {
if($area_id[$x] <> $null) {
    $sql = "UPDATE tracking.areas 
                        SET area_name    = '{$area_name[$x]}', 
                            area_info    = '{$area_info[$x]}',
                            area_sort    = '{$area_sort[$x]}', 
                            contest_id           = '{$contest_id}',
                            tracking_id      = '{$tracking_id}'
                        WHERE area_id    = '{$area_id[$x]}' ";
} 
else {
    $sql = "INSERT INTO tracking.areas 
                            (area_name, 
                            area_info,
                            area_sort, 
                            contest_id,
                            tracking_id) 
                        VALUES 
                            ('{$area_name[$x]}', 
                            '{$area_info[$x]}',
                            '{$area_sort[$x]}', 
                            '{$contest_id}',
                            '{$tracking_id}') ";

}

最佳答案

<?php
// Specify what $contest_id is! 
$sq = "SELECT area_id FROM areas WHERE contest_id ='".$contest_id."'";
$qu = mysql_query($sq) or die(mysql_error()); 

while ($fe = mysql_fetch_assoc($qu)) {
    if (isset($_POST['area_info'][$fe['area_id']])) {
        $sql = "UPDATE tracking.areas SET area_info ='".$_POST['area_info'][$fe['area_id']]."' WHERE area_id ='".$fe['area_id']."'";
        mysql_query($sql) or die(mysql_error());
    }
}
?>

关于php - 一个 PHP 表单保存到 MySQL,另一个则不保存,不知道为什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24872967/

相关文章:

php - 像基于文件的 session 那样在 PHP 中包含大量文件是否不好?

mysql - 根据插入情况对字符串进行排序

mysql - ON DUPLICATE KEY UPDATE 正在插入新记录

mysql - 如何检查mysql中是否设置了用户密码?

php - 如何使用MySql从phy中的组合框中获取选定的值?

php - WooCommerce - 将产品类别添加到订单详细信息表

mysql - 每 n 秒自动从数据库中删除过时的行

php - 数据未通过php插入mysql数据库

php - 如何从 php 运行 linux 命令

PHP - PDO 连接类 - 无法访问