包括PHP常量

时间:2011-01-19 14:35:07

标签: php mysql

我正在尝试创建一个包含数据库详细信息的数据库配置文件,然后将该文件包含在我将要进行查询的文件中,但我不断收到错误,它似乎将常量作为字符串而不是它的价值。

这是config.php代码:

define("DB", "db", true);
define("LOGIN", "login", true);
define("PASS", "pass", true);
define("HOST", "server.com", true);

这里是我包含和使用常量的地方:

include("config.php");

$province = $_POST['province'];
$city = $_POST['city'];
$name_surname = $_POST['name_surname'];
$email_address = $_POST['email_address'];
$date = date("m.d.y");


$connect = mysql_connect(HOST,LOGIN,PASS) or die(mysql_error());
mysql_select_db(DB) or die(mysql_error());

mysql_query("INSERT INTO table_name (id, province, city, name_surname, email_address, date)
VALUES ('NULL', '$id', '$province', '$city', '$name_surname', '$email_address', '$date')", $connect) or die(mysql_error());

编辑*以下是我收到的错误Access denied for user 'USER'@'100-200-0-200.dynamic.adsl.com' (using password: YES)

知道我哪里错了吗?它可能正盯着我看,但我看不到它。

提前Thanx!

3 个答案:

答案 0 :(得分:7)

如果没有生成特定的错误消息,很难确定,但我怀疑问题只是定义被称为“登录”,但您尝试使用“USER” mysql_connect调用。

答案 1 :(得分:1)

也许尝试通过$ connect = mysql_connect(HOST,LOGIN,PASS)更改$ connect = mysql_connect(HOST,USER,PASS),因为您没有定义USER ...;)

答案 2 :(得分:0)

// Constants.php
<?php

final class Constants 
{
    const DEBUG                     = true;

    const DB_CHARSET                = "latin1";
    const DB_PORT                   = 3306;
    const DB_TIMEOUT                = 15;
    const DB_HOST                   = "localhost";
    const DB_DATABASE               = "foo_db";
    const DB_USER                   = "foo_dbo";
    const DB_PASS                   = "pass";

    private function __construct(){}
}
?>

// usage:

require_once "Constants.php";

if(Constants::DEBUG){..}