+ -
当前位置:首页 → 问答吧 → 数据库错误问题,求解

数据库错误问题,求解

时间:2011-03-28

来源:互联网

我的数据库 基本信息就是下面这些,我这个文件叫  conn.php

<?php>
$conn = @mysql_connect("localhost", "root", "123456789") or die("数据库链接错误");
mysql_select_db("bbs", $conn);
mysql_query("set names 'GBK'"); //使用GBK中文编码;
?>

===================
然后我用下面这个程序调用的时候,输出的是“数据库链接错误”!


<?php
include("conn.php");
if($_POST['submit']){
$sql="insert into message(id,user,title,contert,lastdate) values('','$_post[user]','$_post[titile]','$_post[content]','now()')";}
?>
<form action="add.php" method="post" >
用户:<input type="text" size="10" name="user" /><br>
标题:<input type="text" name="biaoti" /><br>
内容:<textarea name="name"></textarea><br>
<input type="submit" name="submit" value="发布留言"/>
<br>
</form>
=======================

请问这是怎么回事啊

作者: beginzy   发布时间: 2011-03-28

把 $conn = @mysql_connect("localhost", "root", "123456789") or die("数据库链接错误"); 这句

改成

$conn = mysql_connect("localhost", "root", "123456789");
这样试试
注意去掉@抑制符,另外开启你的PHP提示消息

作者: oror   发布时间: 2011-03-28

太感谢了,能告我是因为什么吗?

之前的为什么不行啊?你这个就成了。

作者: beginzy   发布时间: 2011-03-28

那个@是屏蔽掉mysql_connect调用出错显示出的消息的
本来mysql_connect调用失败时会有一行错误提示显示出来,而加上@符号后,这行错误提示就被抑制了,转而通过判断mysql_connect的返回值来看是否出错,如果返回假,代表这个函数调用失败,根据逻辑连接or运算符,转而需要执行die函数,那个die函数就是在屏幕上输出"数据库链接错误",然后终止页面下面的代码执行。
当然如果返回真,则mysql_connect执行成功,则不需要再执行or后面的die语句了,然后继续下面的代码
我本来想去掉@错误抑制符和or die,然后看系统输出的mysql_connect调用失败的原因的,不晓得楼主为什么又正常了,楼主最好再检查下吧。

作者: oror   发布时间: 2011-03-28

我也发现了问题,去掉之后虽然运行正常了,但我后面的操作,写了一条数据进去,结果提示成功了,我去数据库看,结果没有写进去。可能就和这个有点关系

作者: beginzy   发布时间: 2011-03-28

<?php
include("conn.php");
if($_POST['submit'])
{
$sql="insert into message(id,user,title,contert,lastdate) values('','$_POST[user]','$_POST[titile]','$_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="biaoti" /><br>
内容:<textarea name="name"></textarea><br>
<input type="submit" name="submit" value="发布留言"/>
<br>
</form>

作者: beginzy   发布时间: 2011-03-28

楼主可能错误提示没有开启吧,没有抑制错误的话,失败应该会有提示消息的
试试下面的代码,看看能不能输出错误信息
复制内容到剪贴板
代码:
<?php
ini_set('display_errors','On');
error_reporting(E_ALL);
?>
把上述代码加到PHP页的开头,就像下面一样,然后再操作一遍试试
复制内容到剪贴板
代码:
<?php
ini_set('display_errors','On');
error_reporting(E_ALL);
include("conn.php");
if($_POST['submit'])
{
$sql="insert into message(id,user,title,contert,lastdate) values('','$_POST[user]','$_POST[titile]','$_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="biaoti" /><br>
内容:<textarea name="name"></textarea><br>
<input type="submit" name="submit" value="发布留言"/>
<br>
</form>
[ 本帖最后由 oror 于 2011-3-28 20:37 编辑 ]

作者: oror   发布时间: 2011-03-28

相关阅读 更多

热门下载

更多