将 mysql_query($sql);
写作 mysql_query($sql) or die(mysql_error());
这是调试是的重要手段。即使是在运行时刻,也有助于帮助你发现潜在的问题你的页面是 utf-8 的,所以需要通知 mysql 使用 utf-8 字符集会话
mysq_query('set names utf8');你有7个字符型字段,因此就存在有特殊字符‘(单引号)转义的问题
$txt = addslashes($txt);
如果你的 php 版本较低,还应判断是否开启了自动转义的功能

解决方案 »

  1.   

    我添加了mysql_query($sql) or die(mysql_error());和mysq_query('set names utf8');这两句,还有请问 $txt = addslashes($txt);是直接引用就行吗? 我的php版本是5.3.13,应该不可能太低了!
    <!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" />
    <title>无标题文档</title>
    </head>
    <body>
    <form method="POST">
    <table>
    <tr><td>c_id</td><td><input type="c_id" size="20"></td></tr>
    <tr><td>c_name</td><td><input type="c_name" size="20"></td></tr>
    <tr><td>sector</td><td><input type="sector" size="50"></td></tr>
    <tr><td>e_address</td><td><input type="e_address" size="50"></td></tr>
    <tr><td>mail_address</td><td><input type="mail_address" size="50"></td></tr>
    <tr><td>classification</td><td><input type="classification" size="50"></td></tr>
    <tr><td>started_date</td><td><input type="started_date" size="50"></td></tr>
    <tr><td>contact</td><td><input type="contact" size="50"></td></tr>
    <tr><td>con_address</td><td><input type="con_address" size="50"></td></tr>
    <tr><td><input type="Submit" value="添加"></td></tr>
    </table>
    </form>
    <?php
    $db = mysql_connect("localhost", "root", "root");
    mysql_select_db("test", $db);
    mysql_query('set names utf8');
    //$txt = addslashes($txt);
    if(isset($_POST['submit'])&&$_POST['submit'])
    {
         $sql="insert into customers_id(c_id,c_name,sector,e_address,mail_address,classification,started_date,contact,con_address) 
         values('$_POST[c_id]','$_POST[c_name]','$_POST[sector]','$_POST[e_address]','$_POST[mail_address]','$_POST[classification]''$_POST[started_date]','$_POST[contact]','$_POST[con_address]''now()'";
          mysql_query($sql) or die(mysql_error());
    echo "成功";
    }
    ?>
    echo "添加成功";?></body>
    </html>
      

  2.   

    你的sql语句写的有问题
    1、'$_POST[classification]''$_POST[started_date]'之间少了一个逗号
    2、'$_POST[con_address]''now()'不能这样写调试一下就知道了
    echo $sql;
      

  3.   

    1、表单控件的定义不对,都改成下面这样的:
    <input name="c_id" size="20" type="text">   2、提交按钮没有name值,不会进入if分支里面。
    <input type="Submit" value="添加" name="submit">