php页面无法加载MySQL的数据库

标签 php mysql apache phpmyadmin

我在尝试将 .php 与 mysql 连接时遇到了一些问题。 这是 connection.php 代码

<?php
$db_host =$_POST['localhost'];
$db_user =$_POST['root'];
$db_password = "";
$db_name = "prtcl";
?>

这是我实际使用连接的页面

<?
include("connection.php"); 
?>

...

<?php
$db = mysql_connect($db_host, $db_user, $db_password);
        mysql_select_db($db_name, $db);
            if (!$db)
              {
              die('Could not connect: ' . mysql_error());
              }
mysql_close($db);             
?>

<body>

...

这就是我尝试加载它时得到的结果(第 29 行是这个:

$db = mysql_connect($db_host, $db_user, $db_password);

)

Notice: Undefined variable: db_host in C:\Program Files (x86)\EasyPHP-5.3.2\www\prtcl\index.php on line 29

Notice: Undefined variable: db_user in C:\Program Files (x86)\EasyPHP-5.3.2\www\prtcl\index.php on line 29

Notice: Undefined variable: db_password in C:\Program Files (x86)\EasyPHP-5.3.2\www\prtcl\index.php on line 29

Warning: mysql_connect() [function.mysql-connect]: [2002] A connection attempt failed because the connected party did not (trying to connect via tcp://localhost:3306) in C:\Program Files (x86)\EasyPHP-5.3.2\www\prtcl\index.php on line 29

Warning: mysql_connect() [function.mysql-connect]: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. in C:\Program Files (x86)\EasyPHP-5.3.2\www\prtcl\index.php on line 29

Fatal error: Maximum execution time of 30 seconds exceeded in C:\Program Files (x86)\EasyPHP-5.3.2\www\prtcl\index.php on line 29

如您所见,我使用的是 EasyPHP,并且由于这段代码以前可以正常工作(使用不同的数据库,同时使用手动配置的 apache/mysql),这可能是原因吗?其他信息:我使用 phpmyadmin 创建了数据库,我有 win7

谢谢

最佳答案

不要永远未经验证就从$_POST 获取您的数据库凭据。这是这样一个糟糕的想法,这就是导致错误的原因,因为这些键没有在 $_POST 中定义,但它们可能是结果可能是灾难性的!

尝试将其放入 connect.php

$db_host = "localhost";
$db_user = "root";
$db_password = "";
$db_name = "prtcl";

$db = mysql_connect($db_host, $db_user, $db_password);
mysql_select_db($db_name, $db);
if(!$db) {
    die('Could not connect: ' . mysql_error());
}

然后在你的其他页面使用:

require_once("path/to/connect.php");

// ... whatever else you do on this page...

关于php页面无法加载MySQL的数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3416623/

相关文章:

javascript - 地理位置允许位置异常导致站点无法进入成功功能

php - 没有 AJAX 的 HTML5 拖放是可能的吗?

php - mysql 倒计时时钟

php - .htaccess 用查询字符串重写不同页面的 URL

php - 隐藏php文件的扩展名,用htaccess隐藏index.php

python - FlaskApp Running with Apache unable to save file on server side cannot get permission to work?

php - 在文本输入中显示截断的值,但最终将完整值存储在数据库中

php - require_once() 允许本地主机 URL

MySQL 错误 1045 (28000) : Access denied for user 'bill' @'localhost' (using password: YES)

php - 在两张 table 上 Eloquent Laravel