Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.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多重更新函数未更新,第一行为空_Php_Mysql_Arrays_Variables_Dreamweaver - Fatal编程技术网

PHP多重更新函数未更新,第一行为空

PHP多重更新函数未更新,第一行为空,php,mysql,arrays,variables,dreamweaver,Php,Mysql,Arrays,Variables,Dreamweaver,首先,我使用PHP Dreamweaver用phpMyAdmin数据库制作了一个程序。当我提交按钮时,这个程序会在第一行空白处获取我的记录,而第二行及以下的行中的其余记录仍然存在,但第一行中的记录仍然在数据库中,为什么会发生这种情况?如果我想解决这个程序,它也不会更新我的记录。这让我恶心,我需要帮助( tnx 代码如下: <?php require_once('Connections/tlsc_conn.php'); mysql_select_db($database_tlsc_con

首先,我使用PHP Dreamweaver用phpMyAdmin数据库制作了一个程序。当我提交按钮时,这个程序会在第一行空白处获取我的记录,而第二行及以下的行中的其余记录仍然存在,但第一行中的记录仍然在数据库中,为什么会发生这种情况?如果我想解决这个程序,它也不会更新我的记录。这让我恶心,我需要帮助( tnx

代码如下:

<?php require_once('Connections/tlsc_conn.php');
  mysql_select_db($database_tlsc_conn, $tlsc_conn);
  $query_Recordset1 = "SELECT * FROM tbl_name";
  $Recordset1 = mysql_query($query_Recordset1, $tlsc_conn) or die(mysql_error());
  $row_Recordset1 = mysql_fetch_assoc($Recordset1);
  $totalRows_Recordset1 = mysql_num_rows($Recordset1);

  if(isset($_POST['submit'])) {
      $count = count($_POST['id']);
      $submit = $_GET['id'];

      for($i=0;$i<$count;$i++){
          $sql1="UPDATE $tbl_name SET name='$name[$i]', lastname='$lastname[$i]', email='$email[$i]' WHERE id='$id[$i]'";
          $row_Recordset1=mysql_query($sql1);
       }

    if($row_Recordset1){
            header("location:lulu.php");
            exit;
    }   
 }
?>
<!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=iso-8859-1" />
 <title>Untitled Document</title>
</head>
<body>
  <form name="form2" method="post" action="">
  <table width="634" border="1">
    <tr>
       <td>id</td>
       <td>name</td>
       <td>lastname</td>
       <td>email</td>
    </tr>
   <?php do { ?> 
    <tr>
      <td><?php $id[]=$row_Recordset1['id']; ?><?php echo $row_Recordset1['id']; ?> 
      <input name="id[]" type="hidden" value="<?php echo $row_Recordset1['id'];   ?>" />
      </td>
      <td>
        <input name="name[]" type="text" value="<?php echo $row_Recordset1['name']; ?>">                       
      </td>
      <td>
        <input name="lastname[]" type="text" value="<?php echo $row_Recordset1['lastname']; ?>">
      </td>
      <td>
        <input name="email[]" type="text" value="<?php echo  $row_Recordset1['email']; ?>">       </td>
    </tr>
    <?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?>  
   </table>
    <p>
    <input type="submit" name="submit" value="Submit" />
    </p>
  </form>
   <p>
   </p>
</body>
</html>

无标题文件
身份证件
名称
姓氏
电子邮件
你需要把:

$name = array_map('mysql_real_escape_string', $_POST['name']);
$lastname = array_map('mysql_real_escape_string', $_POST['lastname']);
$email = array_map('mysql_real_escape_string', $_POST['email']);
$id = array_map('mysql_real_escape_string', $_POST['id']);

for
循环之前。您正在使用这些变量,但从未从表单输入中填写它们。

您在哪里设置
$name
$lastname
等?是否缺少
$name=$\u POST['name']
,等等?你在做什么来防止SQL注入?你这是什么意思?谷歌it:你的意思是我要在{for}循环中添加此代码,而不删除任何内容?tnx用于此工作。我尝试过,但提交时第一行记录仍然为空:(我无法解释,我认为它应该会起作用。试着回显
UPDATE
语句,看看执行了什么。