【问题标题】:Whats wrong with my PHP include for database connection?我的 PHP 包含数据库连接有什么问题?
【发布时间】:2011-08-02 19:43:56
【问题描述】:

我正在尝试将我的数据库连接脚本移动到外部(因此更安全)文件。但是,它不起作用。

这是我的 PHP 页面(包含链接)

<?php
include 'block/datalogin.php';
..etc

这里是块/datalogin.php

$dbhost = "localhost";
$dbuser = "************";
$dbpass = "***********";
$dbname = "************";
@mysql_connect($dbhost, $dbuser, $dbpass) or die("unable to
connect to database."
);
mysql_select_db($dbname) or die ("Unable to select");

我确定路径和登录信息是正确的。

有什么建议吗?

【问题讨论】:

  • 你的意思是在mysql_connect前面加上@
  • 您是否得到“无法连接到数据库”。或“无法选择”错误消息?是否启用了 PHP 显示错误?
  • @Daniel 仍然没有工作.. 当我将脚本复制并直接粘贴到我的原始文件中(不包含)时,它确实可以工作......
  • @Hossein 没有给我任何错误

标签: php include include-path mysql-connect


【解决方案1】:

取出mysql_connect前面的“@”符号。

【讨论】:

  • 仍然没有工作..当我将脚本复制并直接粘贴到我的原始文件中(不包含)时,它确实可以工作
【解决方案2】:

首先,Don't use mysql_* functions in new code。它们不再维护and are officially deprecated。看到red box?改为了解prepared statements,并使用PDOMySQLi - this article 将帮助您决定哪个。如果你选择 PDO,here is a good tutorial


<?php
    $dbhost = "localhost";
    $dbuser = "************";
    $dbpass = "***********";
    $dbname = "************";
    $conn=mysql_connect($dbhost, $dbuser, $dbpass) or die("unable to connect to database.");
    mysql_select_db($dbname) or die ("Unable to select");
?>

然后在查询中使用$conn 变量

mysql_query("SELECT * from ....",$conn);

【讨论】:

  • 您是否使用了打开和关闭标签&lt;?php ?&gt;error_reporting(E_ALL); 放在您包含的页面上,它会给您一些您可以使用的错误。
  • &lt;?php ?&gt; 做到了!我最初忽略它是因为我认为包含文件不需要这个
  • 很高兴它的工作,是的,它是必需的。此外,如果它没有被解析为 php,一些用户可以访问 block/datalogin.php 并查看您的登录信息...
猜你喜欢
  • 1970-01-01
  • 2013-12-25
  • 2020-08-14
  • 1970-01-01
  • 1970-01-01
  • 2013-11-23
  • 1970-01-01
  • 2014-01-14
  • 1970-01-01
相关资源
最近更新 更多