PHP连接MySQL,找不到数据库

<?php
$id=mysql_connect("localhost","root","1234") or die('连接失败:' . mysql_error());
if(mysql_select_db("db_DDOS",$id))
echo "";
else
echo ('数据库选择失败:' . mysql_error());
mysql_query("set names gb2312");
?>
连接有误吗?为什么它显示连接失败,Unknown db_DDOS。可是DDOS真的存在

为什么if(){};
另外 你提示到底是连接失败 还是数据库选择失败,你这样的提示连接失败 那错误在第一步没有连接到服务器,如果是选择失败 错误在mysql没有相应的数据库;这样的问题,应该很容易找到!
看了下面你们对话我懂了!
你基础还不行,先看php基础吧,盲目写东西只会让你 记住错误的东西,
你连mysql_select_db 是什么意思可能都没搞清楚。。。。。。。追问

我不是闲着无聊写东西的,而我是不得不写,而且很急,我也刚自学一段时间,但是就针对这个问题还有根据我们的对话,您能告诉我我错在哪里吗?按照书上的意思,我应该没写错啊,实在看不出来错在哪里了,求大侠救命啊~~

追答

其实另外位朋友说的很清楚了,
你的程序是
mysql_select_db("db_DDOS",$id)这句话返回的布尔值 也就是true or flase,如果执行正确那就是真,如果执行过程中错误 那就是flase,那么为什么错误,要么是db_DDOS 也就是你的mysql里面不存在这个数据库,要么是$id错误,但如果是$id 错误
mysql_connect("localhost","root","1234") or die('连接失败:' . mysql_error());
这句话就会报错!所以要看错误提示怎么说!~到底是连接失败呢,还是什么

如果mysql_select_db("db_DDOS",$id)执行正确,那么就执行 echo "";
也就是打出空字符串
如果mysql_select_db("db_DDOS",$id) 执行错误 那么就执行else 语句 提示'数据库选择失败' !
我这样已经是 一句一句解释了 如果你不懂就没办法了

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-12-12
数据库是db_DDOS还是DDOS?追问

是DDOS,但是我试过把db给去了,变成if(mysql_select_db("DDOS",$id)),PHP干脆不理我了,没反应,一片空白。

追答

一片空白就对了啊,if(mysql_select_db("DDOS",$id))
echo "";
,你自己写了,如果连接成功,打印空字符串,所以就一片空白咯~

追问

可以HI聊吗?代码太长了,无法追问啊,我好想知道答案啊~

追答

什么答案?

追问

就是为什会Unknown db_DDOS,我听懂了你说的话是什么意思,但是我是把conn,php这个include到index.php里,如果连接对了,这个index.php最后功能成功后应该会显示成功这两个字的,因为我echo了成功。本来想把index,php代码给你看一下的,但是它说我代码太长了,没办法追问。

追答

HI聊~

第2个回答  2012-12-27
选DB之前 先 vardump($id) ,看看是不是资源类型。如果是的话,就是 数据库名的问题了