if ($_POST['action']){
$sql="INSERT cs_table (id,name,sex,address)VALUES ('','$_POST[name]','$_POST[sex]','$_POST[address]')";
$insert=$msql->query($sql);
print_r($insert);
}
高手们帮我看看啊  为什么不能插入啊!!!<tr>
    <td><input type="text"  name="name" value="{$user.name}{$insert.name}"  size="8"></td>
    <td colspan="8"><input type="text" name="address" value="{$user.address}{$insert.address}"size="50"></td>
    <td colspan="2"><input type="text" name="sex"  value="{$user.sex}{$insert.sex}"size="5"></td>
    <input name='id' value='{$smarty.get.id}' type='hidden' />
    <td colspan="3">
      <div align="center">
       <input type="submit" name="chazhao" value="{if $smarty.get.id}修改{else}添加{/if}">
     </div>
    </td>
  </tr>
          这个是方法   private function sql_str($table,$arr)
{
$column_names=$this->columns_name($table);
foreach($arr as $key=>$value)
{
if(!in_array($key,$column_names))
continue;
if($key==$this->find_primary_key($table))
continue;
$str.=",$key='$value'";
}
$str=substr($str,1);
return $str;
}

解决方案 »

  1.   

    估计又是主键问题
    $sql="INSERT cs_table (id,name,sex,address)VALUES ('','$_POST[name]','$_POST[sex]','$_POST[address]')";
    第一个字段(id)是带主键索引病自增吗,如果是主键索引,请在values中用default代替''
      

  2.   

    $_POST[default]   和  default   这俩中都不行啊?  高手帮帮我
      

  3.   

    $sql="INSERT cs_table (id,name,sex,address)VALUES (defualt,'$_POST[name]','$_POST[sex]','$_POST[address]')";
      

  4.   

    或者
    $sql="INSERT cs_table (name,sex,address)VALUES ('$_POST[name]','$_POST[sex]','$_POST[address]')";
      

  5.   

    恩  这个方法我试过了 也是不行   大哥 我在线等答案  麻烦你了
    $sql="INSERT cs_table (id,name,sex,address)VALUES (defualt,'$_POST[name]','$_POST[sex]','$_POST[address]')";也是不行
      

  6.   

    if ($_POST['action']){
    $sql="INSERT into cs_table (id,name,sex,address)VALUES ('$_POST[name]','$_POST[sex]','$_POST[address]')";
    $insert=$msql->query($sql);
    }  不好使
      

  7.   

    $sql="INSERT cs_table (id,name,sex,address)VALUES ('','{$_POST[name]}','{$_POST[sex]}','{$_POST[address]}')";
    这个试试,不行的话把sql语句输出看看
      

  8.   

    按照我说的做,别老是自行创造$sql="INSERT into cs_table (id,name,sex,address)VALUES (default, '$_POST[name]','$_POST[sex]','$_POST[address]')";
      

  9.   

    如果是自增型的,在 table (id 。) 这里可以不填。
      

  10.   

    $sql="INSERT into cs_table (id,name,sex,address)VALUES (default, '$_POST[name]','$_POST[sex]','$_POST[address]')";echo $sql;//看看这个正确不,如果你不确定,你可以将输出的语句在mysql工具中执行下
      

  11.   

    $sql="INSERT into cs_table (id,name,sex,address)VALUES('','还哦','问问','地方')"  按照原理来说  这句话在sql中应该能添加一条信息的吧  
      

  12.   

    $sql="INSERT into cs_table (id,name,sex,address)VALUES(default,'还哦','问问','地方')"
    或者
    $sql="INSERT into cs_table (name,sex,address)VALUES('还哦','问问','地方')"
      

  13.   

    if ($_POST['action']){
    echo $sql="INSERT into cs_table (id,name,sex,address)VALUES (default, 'rrr','gg','6666')";
    $insert=$msql->query($sql);
    }
      打印不出来
      

  14.   

      <tr>
        <td><input type="text"  name="name" value="{$user.name}{$insert.name}"  size="8"></td>
        <td colspan="8"><input type="text" name="address" value="{$user.address}{$insert.address}"size="50"></td>
        <td colspan="2"><input type="text" name="sex"  value="{$user.sex}{$insert.sex}"size="5"></td>
        <input name='id' value='{$smarty.get.id}' type='hidden' />
        <td colspan="3">
          <div align="center">
           <input type="submit" name="chazhao" value="{if $smarty.get.id}修改{else}添加{/if}">
         </div>
        </td>
      </tr>value  这个地方能这样写吗?????
      

  15.   

    id 是自增主键时可不开列在字段列表中
    如一定要开列,则对应的值可以是 0、''、NULL、DEFAULT 之一
      

  16.   

    ~~~~(>_<)~~~~   没有人理我了
      

  17.   

    INSERT into cs_table (id,name,sex,address)VALUES (default, 'rrr','gg','6666')
    这个直接到数据库中执行下看看,如果还不行说明字段类型有不符合的
      

  18.   

    那就说明
    if ($_POST['action']){echo '执行到我了';
    $sql="INSERT into cs_table (id,name,sex,address)VALUES (default, 'rrr','gg','6666')";
    $insert=$msql->query($sql);
    if($insert > 0){
    echo '成功';
    }else{
    echo '失败';
    }
    }
    没问题
      

  19.   

    数据库中没有问题,在php程序中试下。有问题吗?就用#26楼那数据试试。
      

  20.   

    在PHP中 不行 在mysql中可以  
      

  21.   

    初学的可以先在phpmyadmin执行一下
      

  22.   

    (*^__^*) 嘻嘻……  我就是在phpmyadmin里面执行的
      

  23.   

    你那数据库操作类有问题吧。检查$msql有没有写错。
      

  24.   

    $con = mysql_connect("localhost","用户名","密码");
    if (!$con)
      {
      die('Could not connect: ' . mysql_error());
      }mysql_select_db("你的库名", $con);
    $sql="INSERT into cs_table (id,name,sex,address)VALUES (default, 'rrr','gg','6666')";
    mysql_query($sql);
    在首行加上这些,不用类看能成功吗?
      

  25.   

    根本就没执行到if?????
    你再试一试这样看看是不是没有执行ifif ($_POST['action']){
    $sql="INSERT into cs_table (id,name,sex,address)VALUES (default, 'rrr','gg','6666')";
    $insert=$msql->query($sql);
    }else{
    echo '没执行到if';
    }
      

  26.   

    那答案就出来了,根本就没有action这个这参数传过来,所以根本就没有执行if,等到执行到if那么代码就好了
      

  27.   

     在字段名上全部用`单彆号扩上例如`id` INSERT into `cs_table` (`id`,`name`,`sex`,`address`)VALUES (default, 'rrr','gg','6666')"
      

  28.   

    不用加`也行 。除非是数字或是内部关键字与一些特殊符号为键名。
    这问题最好是打印出sql出来。直接执行sql看报什么错了
      

  29.   

    谢谢大家的帮助 我的问题解决了    action这个这参数传过来