php无法读写mysql

我的PHP能连接mysql,可是就是无法写入和读取数据,不知道到底是为什么。我连接mysql的文件名是conn.php,测试时没有任何问题,代码如下<?php/**Cre... 我的PHP能连接mysql,可是就是无法写入和读取数据,不知道到底是为什么。

我连接mysql的文件名是conn.php,测试时没有任何问题,代码如下
<?php
/*
* Created on 2010-3-25
*
* To change the template for this generated file go to
* Window - Preferences - PHPeclipse - PHP - Code Templates
*/
$conn = @ mysql_connect("localhost", "root", "123") or die("数据库链接错误");
mysql_select_db("bbs", $conn);
?>
测试的时候在下面加上了一行if ($conn)
echo "连接成功";
结果是输出了连接成功。

我做的是简单的留言板,文件名叫add.php,代码如下:
<?php
/*
* Created on 2010-3-25
*
* To change the template for this generated file go to
* Window - Preferences - PHPeclipse - PHP - Code Templates
*/
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);
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>

在我的mysql里有一个bbs的数据库,里面有一个message的表,里面有id,user,title,content,lastdate。

但是我在网页里填好了那个留言表的表单,发表成功了,数据库里却没有任何变化。用户名,密码是对的。直接用phpmyadmin操作是没有任何问题。

还有一个预览页面,我在mysql里添加了内容,它也没有显示任何增加的内容。代码如下,文件名是list.php

<?
/*
* Created on 2010-3-25
*
* To change the template for this generated file go to
* Window - Preferences - PHPeclipse - PHP - Code Templates
*/
include("conn.php");

?>
<table width=500 border="0" align="center" cellpadding="5" cellspacing="1" bgcolor="#add3ef">
<?
$sql="select * from message";
$query=mysql_query($sql);
while($row=mysql_fetch_array($query)){
?>
<tr bgcolor="#eff3ff">
<td>标题:<?=$row[title] ?> 用户:<?=$row[user] ?> </td>
</tr>
<tr bgColor="#ffffff">
<td>内容:<?=$row[content] ?> </td>
</tr>
<?php
}
?>
</table>
还有高手指点下吗?
展开
 我来答
百度网友0d6eaeef0
2010-03-27
知道答主
回答量:42
采纳率:0%
帮助的人:23.8万
展开全部
我把你的代码已经修改测试过了,你可以拿去看看。记得给分哦
我稍微改了一下文件的结构,你可以自己修改

list.php

<?
include("conn.php");
$sql="select * from message";
$query=mysql_query($sql);
while($row=mysql_fetch_array($query)){
?>
<form action="edit.php">
<table width=500 border="0" align="center" cellpadding="5" cellspacing="1" bgcolor="#add3ef">
<tr bgcolor="#eff3ff">
<td>标题:<?=$row[title] ?> 用户:<?=$row[user] ?> </td>
</tr>
<tr bgColor="#ffffff">
<td>内容:<?=$row[content] ?> </td>
</tr>
<?php
}
?>
<tr><td><input type=submit value="添加"></td></tr>
</table>
</form>

edit.php

<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>

add.php

<?php
include ("conn.php");
if(isset($_POST[submit])) {
if($_POST['user']==""||$_POST['title']==""||$_POST['content']==""){echo "请完整填写,点这里<a href=edit.php>返回</a>";}
else{
$sql="insert into message(user,title,content,lastdate)
values ('".$_POST[user]."','".$_POST[title]."','".$_POST[content]."','".date('Y-m-d H:i:s')."')";
mysql_query($sql);
echo"<meta http-equiv=\"refresh\" content='5;URL=list.php'>";
echo "<center>发表成功!</center><br><center>5秒之后自动跳转,如果没有自动跳转点<a href=list.php>这里</a>返回</center>";
}
}
?>

conn.php

<?php
$conn = @ mysql_connect("localhost", "root", "123") or die("数据库链接错误");
mysql_select_db("bbs", $conn);
?>
add.php和edit.php,不过我喜欢分开,具体怎样,你自己斟酌,按自己的喜好。
ys5955092
2010-03-27 · TA获得超过671个赞
知道小有建树答主
回答量:551
采纳率:100%
帮助的人:573万
展开全部
$sql="insert into `message` (`user`,`title`,`content`,`lastdate`)" .
"values ('$_POST[user]','$_POST[title]','$_POST[content]',now())";
你``和''的用法有错误,在字段和表名引用时应该用``而不是''
还有如果表id为自增的index,那么id不能赋值为空,可以不赋值,数据库自动增加
关于符号使用请查找手册,或者参照以下地址

参考资料: http://z.baidu.com/question/141011603.html

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
waichun2010
2010-03-27 · 超过16用户采纳过TA的回答
知道答主
回答量:38
采纳率:0%
帮助的人:26.4万
展开全部
$conn = @ mysql_connect("localhost", "root", "123") or die("数据库链接错误");

@mysql_connect //这里的@去掉,调试阶段不要加上屏蔽错误的句法,这样才可以查看php给出的错误提示

无法写入数据库一可能是连接数据库出错,二可能是数据库编码问题.

第二个问题的话请在执行读写数据库时加上一句 mysql_query("set names gbk");
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
y113700676
2010-03-31 · TA获得超过236个赞
知道小有建树答主
回答量:1032
采纳率:0%
帮助的人:305万
展开全部
<?=$row[title] ?><?=$row[user] ?>

你是否可以 这么写
<?php echo $row['title']; ?><?php echo $row['user']; ?>

"insert into 'message' ('id','user','title','content','lastdate')" .

那个 message 两边是单引号么???如果是 ,可能出错了就,你把单引号去掉,或者 把它改成 esc键 下边的那个 键 ``
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
TIAN陆磊
2010-03-27 · TA获得超过366个赞
知道小有建树答主
回答量:291
采纳率:0%
帮助的人:280万
展开全部
可能原因:
1、如果coon.php确实是链接成功的。可能在include的时候出问题了。把链接数据库代码直接写在你的add.php 或 list.php文件中测试下。

2、add.php中。可能原因是你的sql语句写错了。 可以把他打印出来 echo $sql; 然后到phpmyadmin中执行一下。看看是否可行。

3、list.php中。你的这个文件里面php代码都是位于 <? ?> 短标记中的,除了一个结束符"}" 。所以你要到php.ini 文件中看看是否开启了短标记。如没开启,则是这样的short_open_tag = off ; 不过 php官方不推荐使用短标记。

希望你自己慢慢排查,能对你有用。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式