日期:2014-05-17  浏览次数:20509 次

求助,一个困扰了我一天一夜,让我饭吃不下,水喝不下的问题
最近学习php,遇到了难题。
我的php与mysql数据库连上了,就是数据写不进mysql数据库

数据库如下
数据库名称bbs
表名称message
字段  
id tinyint(1) auto_increment primary key
user varchar(25)
title varchar(50)  
content tinytext
lastdate date
谢了两个php文件
文件一 conn.php
<?php
 $conn=@mysql_connect("localhost","root","") or die ("连接数据库错误");
 mysql_select_db("bbs",$conn);
 mysql_query("set names 'GBK'");//使用中文编码
?>
文件二 add.php

<?php
include("conn.php");
if($_post['submit']){
$sql="insert into message (id,user,title,content,lastdate) " .
"values ('','$_post[user]','$_post[title]','$_post[content]','now()')";
mysql_query ($sql) or die(mysql_error());//随时提示错误
echo "发表成功";
}

?>
  <form action="add.php" method="post" >
  用户: <input type="text" size="10" name="user" /><br>
  标题: <input type="text" name="title" /><br>
  内容: <textarea name="content" ></textarea><br/><!--加不加反斜杠都可以,此为注释符号-->
  <input type="submit" name="submit" value="发布留言"/>
  </form>


文件就这样,数据库连接不报错,就是在表单里输入数据在数据库中不会添加数据,不知道哪里出了问题,还请高手指点指点,感谢感谢~


------解决方案--------------------
if($_post['submit']){

change to

if($_POST['submit']){

SQL语句中的类似地方都修改 .
------解决方案--------------------
很大可能是你的sql语句出了问题,打出来看看~~
------解决方案--------------------
$_post不能是小写啊,要$_POST要大写的
------解决方案--------------------
不是 $_pos 是 $_POST
------解决方案--------------------
以后碰到问题及时上来询问,这种问题不值得困扰这么长时间。学会调试对学习是有很大的帮助的。

如果php没有提示错误(错误提示打开),那么可以肯定的执行的部分语法应该不存在问题。那么就按照代码执行的步骤分别添加 输出变量/数组 exit(); 的方式一步一步调试下去即可。

比如你这样的问题 在add.php 增加

print_r($_post[xxxx])//按照你的错误写法

肯定就开始提示错误了,那么就从这个地方入手。

$_post 数组为什么出错。

最后一个提醒 学习/调试的时候php错误提示一定打开。
------解决方案--------------------
有些东西是规定好了的,这个没有为什么。
------解决方案--------------------
探讨

谢谢各位,我第一次来csdn,感觉很陌生,以为没人睬我,结果下楼买了点东西,回来这么多我给我回答了,谢谢大家了。
我并不是学计算机的,php给我的感觉像天书,先不要说学写代码了,就是在自己的机器上配置php都把我搞得不行了,终于弄好了环境的配置,可以运行代码了。然后今天遇到了这个问题,呵呵~

问题终于解决了,如果解决不了,我其实准备不玩PHP啦,因为我是听的网上下的视频的课,我花了很大的……