1

是的,我知道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.");

当前设置的方式,加载此脚本,我得到“无法建立连接”。

我也有一个 MySQL 文件,如果我用它替换"database_name_i_dunno""dbsql.sql"仍然无济于事。干吗?

4

2 回答 2

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 更容易。

于 2013-09-21T23:30:53.073 回答
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.");
于 2013-09-21T23:35:05.050 回答