<?php
   include("config.php");
   if (isset($_POST['submit'])){
       if (!$_POST['id']|!$_POST['shopname']|!$_POST['address']|!$_POST['shopstaff']|!$_POST['re'])
      $sql="INSERT INTO shops VALUES ('$id','$shopname','$address','$shopstaff','$re')";
          $result=mysql_query($sql);
  {
  die('请填写完整信息!');
          }
      }
?>请问为什么不能控制写入数据库?

解决方案 »

  1.   

    有点乱……
    首先你获取的时候,if (!$_POST['id']|!$_POST['shopname']|!$_POST['address']|!$_POST['shopstaff']|!$_POST['re'])
    应该是||而不是|你的sql语句错了,insert into shops(对应的所有字段名) values(获取的内容); 
    告诉你一个方法:每次写完sql语句,把它输出后复制到数据库中执行一下,看看有没有错误
      

  2.   

    还有if($_POST['id']=='' || $_POST['shopname']=='' || $_POST['address']=='' || $_POST['shopstaff']=='' || $_POST['re']==''){
    alert('填写完整信息');
    }
    你那样写不对,或者是你用js脚本来控制
      

  3.   

    die('请填写完整信息!');把这句话去掉,看看出错信息!
      

  4.   

    <?php
       include("config.php");
       if (isset($_POST['submit'])){
           if ($_POST['id']=='' || $_POST['shopname']=='' || $_POST['address']=='' || $_POST['shopstaff']=='' || $_POST['re']==''){
                alert('填写完整信息');
              }       $sql="INSERT INTO shops VALUES ('$id','$shopname','$address','$shopstaff','$re')";
              $result=mysql_query($sql);
          }
    ?>现在改成这样,还是报错。
      

  5.   

    错误还是发生 在 if ($_POST['id']=='' || $_POST['shopname']=='' || $_POST['address']=='' || $_POST['shopstaff']=='' || $_POST['re']==''){
      

  6.   

    你的sql语句还没有改对呢,红字体部分对应你数据库中的字段名,$sql="INSERT INTO shops(id,shopname,address,shopstaff,re) VALUES ($id,'$shopname','$address','$shopstaff','$re')";
    数据库中id设置的是int型的,$id就不要加引号了你输出结果复制到数据库中执行一下 试试对不对
      

  7.   

    而且你貌似还没有获取$shopname,$address这些变量,你得先$shopname=$_POST['shopname']
    然后values后面才能直接用$shopname;或者你直接这样写$sql="INSERT INTO shops(id,shopname,address,shopstaff,re) VALUES (".$_POST['id'].",'".$_POST['shopname']."','".$_POST['address']."','".$_POST['shopstaff']."','".$_POST['re']."')";
      

  8.   

    代码要规范  另外php里可以用 “alert('填写完整信息')”? 
      

  9.   

    看楼主的意思不妨这样改:
     
    include("config.php");
      if (isset($_POST['submit'])){
      if ($_POST['id']=='' || $_POST['shopname']=='' || $_POST['address']=='' ||    $_POST['shopstaff']=='' || $_POST['re']==''){
               echo "<script language=\"javascript\">
             alert(\"填写完整信息\");
             </script>";
      }else{
    $sql="INSERT INTO shops (id,shopname,address,shopstaff,re) VALUES ('$id','$shopname','$address','$shopstaff','$re')";
      $result=mysql_query($sql);
    }
      if ($result){
      echo "<script language=\"javascript\">
    alert(\"插入成功\");
    </script>";
      }还有你前面要给$id','$shopname','$address','$shopstaff','$re'这些变量都赋值,就是你POST过来的东西