2011-01-19 5 views
0

Je tente de créer un fichier de configuration de base de données qui contient des détails de DB, puis d'inclure le fichier dans les fichiers sur lesquels je vais faire des requêtes, mais je continue à recevoir des erreurs. une chaîne au lieu de sa valeur.Y compris les constantes PHP

Voici le code config.php:

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

et voici où je les utilise et inclure des constantes:

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()); 

modifier * Voici l'erreur que je reçois Access denied for user 'USER'@'100-200-0-200.dynamic.adsl.com' (using password: YES)

Toute idée où je vais mal? Ça me regarde probablement en face, mais je ne peux pas le voir.

Merci d'avance!

+0

Pouvez-vous poster des erreurs votre obtention. –

+0

avez-vous une erreur? – bharath

+0

J'ai modifié mon message original. – Odyss3us

Répondre

7

Sans le message d'erreur spécifique généré, il est difficile d'être certain, mais je soupçonne que la question est simplement que le define est appelé « LOGIN », mais vous essayez d'utiliser « USER » dans l'appel mysql_connect.

+0

Oups, dans les fichiers PHP ils correspondent, jus a faute, merci pour les heads up. – Odyss3us

+0

@ user270311 Si elles correspondaient, l'erreur "Accès refusé pour l'utilisateur 'USER' @ ..." ne s'afficherait pas. Êtes-vous sûr qu'ils sont tous les deux synchronisés? (Sauf si le define contient la chaîne "USER", c'est ce qui se passe.) –

+0

J'essaye de le faire pour 3 projets différents, et sur les deux fichiers que j'avais ouverts dans l'éditeur, ils correspondaient, seul le problème était qu'ils étaient dans deux répertoires différents de deux sites différents! Une telle erreur idiot -_- thanx un million pour l'aide les gars! :) – Odyss3us

1

Peut-être essayer de changer connecter $ = mysql_connect (HOST, USER, PASS) par $ connect = mysql_connect (HOST, LOGIN, PASS) que vous ne définissez pas USER ...;)

+0

Thanx, c'était tout! Une telle erreur stupide! -_- – Odyss3us

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){..}