php 代码问题

来源:百度知道 编辑:UC知道 时间:2024/09/20 16:31:56
我的代码如下:

<?
$dbhost="localhost";//Mysql主机的IP地址
$dbuser="start";//连接Mysql主机的用户名
$dbpwd="123456";//连接Mysql主机的密码
$dbname="cfstat";//统计系统所用的数据库名
$dbport="3306";//连接Mysql主机的端口,3306为默认端口,一般不需要更改此项

date_default_timezone_set('PRC');

$conn = mysql_connect($dbhost.":".$dbport,$dbuser,$dbpwd);
if (!$conn) die ("对不起,发生错误! 请检查conn.php中数据库的配置是否正确!");
//mysql_query("set names utf8");
mysql_select_db($dbname,$conn);

$sql="select * from cfstat_admin";
$result=mysql_query($sql);
if(!$rsset=@mysql_fetch_array($result)){
echo "无法取得数据库里的系统配置!";
exit;
}
?>

很奇怪的问题.我在本地机器测试的时候运行没有问题.可是我换到另一个机器上运行,就跑不起来了,会说我 "无法取得数据库里的系统配置" 但是数据库链接都没有问题.数据也是存在的.不知道该如何处理了

你程序最后一段写得不好,每个数据库语句之后都应该检查是否成功,把下面这段:
$sql="select * from cfstat_admin";
$result=mysql_query($sql);
if(!$rsset=@mysql_fetch_array($result)){
echo "无法取得数据库里的系统配置!";
exit;
}

修改为:
$sql="select * from cfstat_admin";
if ($result=mysql_query($sql)){
$rsset=@mysql_fetch_array($result);
if(!$rsset){
echo "数据库里的系统配置为空,请先配置!";
exit;
}
mysql_free_result($result);//你缺少这个语句
} else {
echo "获取系统配置失败!<br>SQL:$sql<BR>错误:".mysql_error();
exit;
}

程序修改以后,你就知道是SQL语句错误呢,还是表不存在呢,还是数据库表里面的内容为空,提示准确了你才知道问题出在哪里。

$hello="这是第一个PHP程序" 后面加个;

如果能运行到select查询,那数据库连接应该没出问题,你检查一遍另一台机器里数据表的名字有没有问题