for($i=0;$i<count($kh);$i++){
        $path=$_POST["lrxkb"][$i];
        $path1=$_POST["cj"][$i];
        $path2=$_POST["kh"][$i];
        echo $path.$path1.$path2;    // 到这里输出没问题,能循环输出值
下面需要批量循环插入到数据库,表名lxsxxb,字段名是$path的值,条件是字段 kh 等于$path2
语句如下:
  $sql = "UPDATE `lxsxxb` SET `$path’=$path1  WHERE kh =$path2";
}
运行后没有反应,数据库也没有添加数据,求大神帮忙解答!

解决方案 »

  1.   

    $sql = "UPDATE `lxsxxb` SET `$path’=$path1  WHERE kh =$path2";只是sql语句,还要执行例如
    $stmt = $pdo->prepare($sql);$stmt->execute();
      

  2.   


    $sql = "UPDATE `lxsxxb` SET `$path’=$path1  WHERE kh =$path2";
    // sql 中字段的值应该加单引号
    $sql = "UPDATE `lxsxxb` SET `$path’=‘$path1’  WHERE kh =‘$path2’";
      

  3.   

    需要运行,如果使用了事务 需要提交的,最简单是你可以把SQL打印出来 然后数据库 运行一下 如果有数据 ,那就是你没有运行 或者出问题的话 有可能是你限制了
      

  4.   

    $sql = "UPDATE `lxsxxb` SET `$path’=$path1  WHERE kh =$path2";
    只是构造了一条 SQL 指令,你并没有去执行他,自然不会有什么反应再说 UPDATE 是修改指令,当然也不会有 添加数据 的情况出现
      

  5.   

    没有query 执行呢