怎么写不到数据库里面东西,帮看下,谢谢

怎么写不到数据库里面东西,帮看下,谢谢



[复制到剪切板]
CODE:
<form id="form1" name="form1" method="post" action="ly.php">
  <
table width="500" border="0" align="center" cellpadding="1" cellspacing="0">
    <
tr>
      <
td width="64">姓名:</td>
      <
td width="436"><label>
        <
input name="name" type="text" id="name" size="6" maxlength="4" />
      </
label></td>
    </
tr>
    <
tr>
      <
td>性别:</td>
      <
td><label>
        <
input name="xb" type="radio" value="1" checked="checked" />
        
男             
        
<input type="radio" name="xb" value="0" />
      
</label></td>
    </
tr>
    <
tr>
      <
td>部部:</td>
      <
td><label>
        <
input name="bumen" type="text" id="bumen" size="20" maxlength="15" />
      </
label></td>
    </
tr>
    <
tr>
      <
td>E-mail:</td>
      <
td><label>
        <
input name="mail" type="text" id="mail" size="20" maxlength="20" />
      </
label></td>
    </
tr>
    <
tr>
      <
td>TEL:</td>
      <
td><label>
        <
input name="tel" type="text" id="tel" size="18" maxlength="15" />
      </
label></td>
    </
tr>
    <
tr>
      <
td>留言内容</td>
      <
td>&nbsp;</td>
    </
tr>
    <
tr>
      <
td colspan="2"><label>
        <
textarea name="info" cols="100" rows="10" id="info"></textarea>
      </
label></td>
    </
tr>
    <
tr>
      <
td colspan="2"><div align="center">
        <
label>
        <
input name="c" type="submit" id="c" value="提交" />                                         
        </
label>
        <
label></label>
        <
input name="v" type="reset" id="v" value="清除" />
      </
div></td>
    </
tr>
  </
table>
</
form> ;



[复制到剪切板]
CODE:
<?php

$mysql_server_name
="localhost";
$mysql_username        ="root";
$mysql_password        ="123456";
$mysql_database        ="pper";

$ip=getenv('REMOTE_ADDR');
$conn=mysql_connect($mysql_server_name,$mysql_username,$mysql_password);
$sql="INSERT INTO `pper`.`ly` (`id`, `name`, `xb`, `bumen`, `mail`, `tel`, `info`, `ip`, `shijian`) VALUES (NULL, '$name', '$xb', '$bumen', '$mail', '$tel', '$info', '$ip', NOW())";
mysql_select_db($mysql_database,$conn);
$result=mysql_query($sql);
$id=mysql_insert_id();
mysql_close($conn);

?> ;


我是 复制 phpmysqladmin里面的 插入后显示的  语法


这是数据库


MySQL 字符集: UTF-8 Unicode (utf8)
MySQL 连接校对:  utf8_general_ci



表  操作  记录数   类型          整理
ly            4        InnoDB      latin1_swedish_ci

字段 类型 整理 属性 Null 默认 额外 操作
  id int(255)   UNSIGNED 否  auto_increment               
  name varchar(5) gbk_chinese_ci  否                 
  xb tinyint(1)   UNSIGNED 否                 
  bumen varchar(30) gbk_chinese_ci  否                 
  mail varchar(30) latin1_swedish_ci  否                 
  tel varchar(18) latin1_swedish_ci  否                 
  info text gbk_chinese_ci  否                 
  ip varchar(15) latin1_swedish_ci  否                 
  shijian datetime   否  


为什么写不到数据库里

那里错了嘛


痛苦呀
帮帮忙看看

谢谢大家了

[ 本帖最后由 phphp 于 2007-6-6 02:26 编辑 ]

我觉得可能错的地方就是你没有在php程序中指明数据库编码。
要加 set names。如下

[复制到剪切板]
CODE:
<?php

$mysql_server_name
="localhost";
$mysql_username        ="root";
$mysql_password        ="123456";
$mysql_database        ="pper";

$ip=getenv('REMOTE_ADDR');
$conn=mysql_connect($mysql_server_name,$mysql_username,$mysql_password);
mysql_query("set names 'gbk'");
$sql="INSERT INTO `pper`.`ly` (`id`, `name`, `xb`, `bumen`, `mail`, `tel`, `info`, `ip`, `shijian`) VALUES (NULL, '$name', '$xb', '$bumen', '$mail', '$tel', '$info', '$ip', NOW())";
mysql_select_db($mysql_database,$conn);
$result=mysql_query($sql);
$id=mysql_insert_id();
mysql_close($conn);

?> ;


毕业了。。。

我先就加过了,不行

如果在MYSQL的 SQL里面运行
INSERT INTO `pper`.`ly` (`id`, `name`, `xb`, `bumen`, `mail`, `tel`, `info`, `ip`, `shijian`) VALUES (NULL, '$name', '$xb', '$bumen', '$mail', '$tel', '$info', '$ip', NOW())
可以写里面

就是从网页 不行,,编码以前就加了,写不进,后来就取消了

如果我从建个 表 只写  字母或数字可以写进去

不行
我的是 系统 xp sp2
iis+php+mysql


往谁能测试下

我从建了个表 然后 用网页 往里写东西 能写进去,可就是上面写不进去
这是新建的 可以写

[复制到剪切板]
CODE:
$conn=mysql_connect($mysql_server_name,$mysql_username,$mysql_password);
    
mysql_query("set names 'gbk'");
    
$sql="INSERT INTO `pper`.`ipjs` (`name1` ,`new1` ,`ip` ,`shijian` ) VALUES ('lgq', '1', '$ip', NOW( ) )";
    
mysql_select_db($mysql_database,$conn);
    
$result=mysql_query($sql);
    
mysql_close($conn); ;

这个可以写进去


我快崩溃了

你一个数据库用两种编码是不行的

字段 类型 整理 属性 Null 默认 额外 操作
  id int(255)   UNSIGNED 否  auto_increment               
  name varchar(5) gbk_chinese_ci  否                 
  xb tinyint(1)   UNSIGNED 否                 
  bumen varchar(30) gbk_chinese_ci  否                 
  mail varchar(30) latin1_swedish_ci  否                 
  tel varchar(18) latin1_swedish_ci  否                 
  info text gbk_chinese_ci  否                 
  ip varchar(15) latin1_swedish_ci  否   

你看有gbk, latin1。你必须指定是一种编码。然后要在前面set names 这种编码
毕业了。。。

这是数据库
数据库   整理     
  pper  latin1_swedish_ci   


字段        类型            整理    属性 Null 默认 额外 操作
  id          int(255)                UNSIGNED 否  auto_increment               
  name varchar(5)       gbk_chinese_ci  否                 
  xb tinyint(1)                      UNSIGNED 否                 
  bumen varchar(30)   gbk_chinese_ci  否                 
  mail varchar(20)       gbk_chinese_ci  否                 
  tel varchar(20)        gbk_chinese_ci  否                 
  info text                 gbk_chinese_ci  否                 
  ip varchar(15)          gbk_chinese_ci  否                 
  shijian datetime   否               



数据库编码是latin1_swedish_ci   
我建表的时候 编码改位 gbk_chinese_ci  这个了

但还是写不进去
是不是 数据库 那里设置有问题

头大了

<?php

echo   "你是個高手.....";

echo    "我還是一個小菜鳥.......";

echo       "現在還在學習中.......你寫的這些程式看不太懂.....呵呵....";

echo        "能教教我嗎?!";

?>


我也在学习中
一起学习

你了解语法,然后了解 phpMYSQL函数
该能看懂的

表单变量传递没问题,
SQL语句在表里 可以成功 插入
可能是编码问题