首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >数据库没有更新!在PHP和MySQL中没有错误

数据库没有更新!在PHP和MySQL中没有错误
EN

Stack Overflow用户
提问于 2013-04-26 17:21:37
回答 3查看 4.6K关注 0票数 2

提交后数据库未更新。我甚至没有得到一个错误。在这里,我试图从数据库中检索值,并以HTML表格格式显示,用户也可以从这里更新值。因此,当我更改此处的值并提交时,数据库不会更新。

代码语言:javascript
复制
  <?php

    print"<center><h3><a href=\"index.html\">Go Back</a></h3><br>"; 


    // Connect to server and select databse.
    $con = mysql_connect('localhost','tpsadmin','tps')or die("Cannot connect to DB");
    mysql_select_db('traffic',$con)or die("Cannot select DB");


    $query = "SELECT * FROM emergency";
    $result = mysql_query($query) or die(mysql_error()); 

    // Count table rows
    $count=mysql_num_rows($result);

    //UPDATE  `emergency` SET  `t_sigid` =  '2',`e_priority` =  '3' WHERE  `emergency`.`e_jid` =70;

    if( isset($_POST['Submit'])){
        for($i=0;$i<$count;$i++){
            $sql1 = "UPDATE emergency SET 
                e_latitude='{$_POST['e_latitude'][$i]}', 
                e_longitude='{$_POST['e_longitude'][$i]}', 
                t_sigid='{$_POST['t_sigid'][$i]}', 
                e_priority='{$_POST['e_priority'][$i]}'   
                WHERE e_jid='$id[$i]'"; 
            $result1 = mysql_query($sql1) or die(mysql_error());
        }
    }


    if($result1){
        header("location: em_disp.php");
    }
    mysql_close();
    ?>



    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <script language="JavaScript1.1" type="text/javascript">
    <!--
    function mm_jumpmenu(targ,selObj,restore){ //v3.0
      eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
      if (restore) selObj.selectedIndex=0;
    }
    //-->
    </script>
    <title>Emergency Table - Update</title>
    </head>

    <body>


    <table width="500" border="0" cellspacing="1" cellpadding="0">
    <form name="form1" method="post" action="">
    <tr>
    <td>
    <table border="5" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#808080" width="50&#37;" text-align="center" id="AutoNumber2" bgcolor="#C0C0C0">
    <tr>
    <td align="center">e_jid</td> 
    <td align="center">amb_id</td> 
    <td align="center">e_latitude</td> 
    <td align="center">e_longitude</td> 
    <td align="center">t_sigid</td> 
    <td align="center">e_priority</td>
    </tr>
    <?php
    while($rows=mysql_fetch_array($result)){
    ?>
    <tr>
    <td align="left"><?php $id[]=$rows['e_jid']; ?><?php echo $rows['e_jid']; ?></td>
    <td align="center"><?php echo $rows['amb_id']; ?></td>
    <td align="center"><input name="e_latitude[]" type="text" id="e_latitude" value="<?php echo $rows['e_latitude']; ?>" size="10"></td>
    <td align="center"><input name="e_longitude[]" type="text" id="e_longitude" value="<?php echo $rows['e_longitude']; ?>" size="10"></td>
    <td align="center"><input name="t_sigid[]" type="text" id="t_sigid" value="<?php echo $rows['t_sigid']; ?>" size="10"></td>
    <td align="center"><input name="e_priority[]" type="text" id="e_priority" value="<?php echo $rows['e_priority']; ?>" size="10" /></td>
    </tr>
    <?php
    }
    ?>
    <tr>
    <td colspan="6" align="center"><input type="submit" name="Submit" value="Submit"></td>
    </tr>
    </table>
    </td>
    </tr>
    </form>
    </table>



    </body>
    </html>

请谁来帮帮我。谢谢!

EN

Stack Overflow用户

发布于 2013-04-26 18:59:59

看起来t_sigide_prioritye_jid都是整数。所以下面的代码更安全。

代码语言:javascript
复制
for($i=0;$i<$count;$i++){
    $t_sigid=intval($_POST['t_sigid'][$i]);
    $e_priority=intval($_POST['e_priority'][$i]);
    $e_jid=intval($id[$i]);
    $sql1 = "UPDATE emergency SET 
        e_latitude='{$_POST['e_latitude'][$i]}', 
        e_longitude='{$_POST['e_longitude'][$i]}', 
        t_sigid='$t_sigid', 
        e_priority='$e_priority'   
        WHERE e_jid='$e_jid'"; 
    $result1 = mysql_query($sql1) or die(mysql_error());
}

编辑1:

变化

代码语言:javascript
复制
  <td align="left"><?php $id[]=$rows['e_jid']; ?><?php echo $rows['e_jid']; ?></td>

代码语言:javascript
复制
   <td align="left"><input name="id[]" type="text" id="id" value="<?php echo $rows['e_jid']; ?>" size="10"></td>

并将上面提到的$e_jid=intval($id[$i]);更改为$e_jid=intval($_POST['id'][$i]);

票数 0
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16232952

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档