我正在尝试创建一个包含数据库详细信息的数据库配置文件,然后将该文件包含在我将要进行查询的文件中,但我不断收到错误,它似乎将常量作为字符串而不是它的价值。
这是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!
答案 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){..}