2011-12-04 266 views
1

我是一个新手,PHP和网络世界,并尝试使用该PHP代码连接到MySQL数据库:无法连接到MySQL数据库

<?php 
echo "Hello World \n"; 

$mysql_host = "MySQL Host"; // this is what specified to use in mySQL management page at my host 
$mysql_database = "mysql_database"; 
$mysql_user = "mysql_user"; 
$mysql_password = "mysql_password"; 

echo $mysql_host; 

$conn = mysql_connect($mysql_host, $mysql_user, $mysql_password); 
if (!$con) 
{ 
die('Could not connect: ' . mysql_error()); 
} 
$db_selected = mysql_select_db($mysql_database); 

if (!$db_selected) { 
die ('Can\'t use '.$mysql_database.' : ' . mysql_error()); 
} 
?> 

请,什么都可以错,此代码?我找不到任何语法错误,仍然 - 我无法连接到Db

它是否可以并且问题仅与主机有关?

+6

你的MySQL数据库的主机名肯定不是'MySQL主机'。更可能是共享主机服务上的'localhost'。 –

+1

你也使用'mysql'扩展名。你不应该。使用mysqli或PDO并准备语句以避免SQL注入漏洞。 – chx

+0

调用mysqlerror()时会得到什么错误信息? – Cyclonecode

回答

0

如果您实际在代码中输入MySQL Host,那么您没有提供有效的主机名。您应该尝试使用localhost

否则,您当前的主机必须提供您所需的信息。

你也应该告诉我们你的脚本在它死亡时给你什么错误。这使我们能够给出一个合格的答案而不是猜测。

0

为@迈克尔说,

$mysql_host = "MySQL Host"; 

肯定是不对的,那场必须有一个有效的主机/ socketname或本地主机..

1

以下变量应该包含有值分别为:

  • $mysql_host - IP或与您的数据库服务器的主机名,
  • $mysql_database - 数据库的名称,
  • $mysql_user - 数据库用户名,
  • $mysql_password - 密码为特定用户的特定数据库,

确保所有的人是正确的,那么问题应该解决。如果不是,请告诉我们。

0

这些家伙是现货。而且,本地主机程序的密码通常是空白的。

但是,这只是我注意到:

你$ conn变量中缺少的“如果”语句中的“N”。