如何正确使用mysql_connect()和mysql_select_db()?

时间:2013-09-21 23:08:12

标签: php mysql nginx raspberry-pi raspbian

是的,我知道mysql_connect()已被弃用,但我将其用于学习目的。

我有一个小的Raspberry Pi服务器设置,使用Nginx和Raspbian,我下载了一个PHP脚本作为登录处理程序,除了我似乎无法连接到我的MySQL数据库。

以下是我所拥有的:

define ("DB_HOST", "localhost"); <-- Don't know what I'm doing here
define ("DB_USER", mysql.default_username);
define ("DB_PASS", mysql.default_password);
define ("DB_NAME", "database_name_i_dunno"); <-- I don't know...

$link = mysql_connect(DB_HOST, DB_USER, DB_PASS) or die("Couldn't make connection.");
$db = mysql_select_db(DB_NAME, $link) or die("Couldn't select database.");

目前设置方式,此脚本已加载,我无法进行连接。&#34;

我也有一个MySQL文件,如果我用"database_name_i_dunno"替换"dbsql.sql",它仍然无法解决问题。不做吗?

2 个答案:

答案 0 :(得分:2)

您的功能看起来是正确的,但如果您无法建立连接,那么您的问题就出现了问题。 Localhost是当前主机,可以用127.0.0.1替换它。你安装了mysql服务器了吗? 我想你先没有这样做:

apt-get install mysql-server mysql-client php5-mysql

之后你也可以安装phpmyadmin,然后你就可以更轻松地处理你的数据库了:

apt-get install libapache2-mod-auth-mysql php5-mysql phpmyadmin

现在您可以创建数据库了。

这是一段快速视频,可能对您有所帮助: http://www.youtube.com/watch?v=N_c018_lhHQ

(尝试使用mysqli或pdo API,两者都比旧的mysql API更容易。

答案 1 :(得分:1)

localhost是环回IP地址127.0.0.1的别名。换句话说,localhost是“这台电脑”的另一个词(即你现在坐的电脑)。

define('DB_HOST', 'localhost'); // Points back to this computer

您的代码中的用户名和密码值需要修复。首先,字符串必须用引号括起来(单引号或双引号)。其次,为了获得PHP的INI设置,您需要使用ini_get()函数:

define('DB_USER', ini_get('mysql.default_username'));
define('DB_PASS', ini_get('mysql.default_password'));

数据库名称是您要使用的数据库(!)的名称。如果您使用phpMyAdmin,那么屏幕左侧应该有一个下拉菜单,您可以在其中选择数据库。该下拉菜单中的名称也是您需要在PHP脚本中使用的名称。

define('DB_NAME', 'database_name_i_dunno');

这些看起来没问题。

$link = mysql_connect(DB_HOST, DB_USER, DB_PASS) or die("Couldn't make connection.");
$db = mysql_select_db(DB_NAME, $link) or die("Couldn't select database.");