Hoi,
ich hab da mal ein kleines Problem. Zuerst einmal ich komme eigentlich aus dem C#-Bereich und muss sowieso schon ein wenig umdenken. Daher bitte nicht böse sein, wenn ich mich etwas blöd anstelle. Und zwar habe ich das Problem, das ich ein Script geschrieben habe welches mir etwas aus der Datenbank ausgeben soll, doch wenn ich das Script aufrufe, bekomme ich folgende Fehlermeldung:
Ich habe eine PHP-Datei, wo das jeweilige Script drin ist, in diesem wird eine global.php includet wird. In dieser wiederum wird die sqlHandler.class.php includet. In der SqlHandler.class.php befindet sich eine Funktion, welche einen MySqlQuery zurückgeben soll und bindet eine config.php ein.
Diese kann auch gefunden werden, allerdings kann ich aus irgendeinem Grund nicht drauf zugreifen. Wenn ich allerdings die config.php direkt in die PHP-Datei einfüge, welche die global.php includet, kann ich über echo die constanten ausgeben.
Hat vielleicht jemand ne Ahnung woran das liegen könnte? Hier auch noch der Code der login.php, der global.php und der sqlHandler.php:
login.php
global.php
sqlHandler.class.php
config.php
Das Script selbst funktioniert übrigens einwandfrei. Wenn ich die Constanten einfach direkt Hardcode, dann wird das Script korrekt ausgeführt.
ich hab da mal ein kleines Problem. Zuerst einmal ich komme eigentlich aus dem C#-Bereich und muss sowieso schon ein wenig umdenken. Daher bitte nicht böse sein, wenn ich mich etwas blöd anstelle. Und zwar habe ich das Problem, das ich ein Script geschrieben habe welches mir etwas aus der Datenbank ausgeben soll, doch wenn ich das Script aufrufe, bekomme ich folgende Fehlermeldung:
Notice: Use of undefined constant DATABASE - assumed 'DATABASE' in D:\xampp\htdocs\LinkCrypter\core\sql\sqlHandler.cl ass.php on line 9
Notice: Use of undefined constant USERNAME - assumed 'USERNAME' in D:\xampp\htdocs\LinkCrypter\core\sql\sqlHandler.cl ass.php on line 9
Notice: Use of undefined constant PASSWORD - assumed 'PASSWORD' in D:\xampp\htdocs\LinkCrypter\core\sql\sqlHandler.cl ass.php on line 9
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [1045] Access denied for user 'USERNAME'@'localhost' (using password: YES)' in D:\xampp\htdocs\LinkCrypter\core\sql\sqlHandler.cl ass.php:9 Stack trace: #0 D:\xampp\htdocs\LinkCrypter\core\sql\sqlHandler.cl ass.php(9): PDO->__construct('mysql:host=loca...', 'USERNAME', 'PASSWORD', Array) #1 D:\xampp\htdocs\LinkCrypter\acp\login.php(13): MySqlHandler->GetQuery('SELECT siteName...') #2 {main} thrown in D:\xampp\htdocs\LinkCrypter\core\sql\sqlHandler.cl ass.php on line 9
Notice: Use of undefined constant USERNAME - assumed 'USERNAME' in D:\xampp\htdocs\LinkCrypter\core\sql\sqlHandler.cl ass.php on line 9
Notice: Use of undefined constant PASSWORD - assumed 'PASSWORD' in D:\xampp\htdocs\LinkCrypter\core\sql\sqlHandler.cl ass.php on line 9
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [1045] Access denied for user 'USERNAME'@'localhost' (using password: YES)' in D:\xampp\htdocs\LinkCrypter\core\sql\sqlHandler.cl ass.php:9 Stack trace: #0 D:\xampp\htdocs\LinkCrypter\core\sql\sqlHandler.cl ass.php(9): PDO->__construct('mysql:host=loca...', 'USERNAME', 'PASSWORD', Array) #1 D:\xampp\htdocs\LinkCrypter\acp\login.php(13): MySqlHandler->GetQuery('SELECT siteName...') #2 {main} thrown in D:\xampp\htdocs\LinkCrypter\core\sql\sqlHandler.cl ass.php on line 9
Diese kann auch gefunden werden, allerdings kann ich aus irgendeinem Grund nicht drauf zugreifen. Wenn ich allerdings die config.php direkt in die PHP-Datei einfüge, welche die global.php includet, kann ich über echo die constanten ausgeben.
Hat vielleicht jemand ne Ahnung woran das liegen könnte? Hier auch noch der Code der login.php, der global.php und der sqlHandler.php:
login.php
PHP-Code:
<?php
require '../core/global.php';
$tpl->setCacheDir("./cache")->setTemplateDir("./template")->setCompileDir("./template_c");
$sql = new MySqlHandler();
$result = $sql->GetQuery("SELECT siteName FROM options");
$tpl->assign("siteName", $result[0]["siteName"]);
$tpl->display("login.tpl");
?>
PHP-Code:
<?php
require 'template/Smarty.class.php';
require 'sql/sqlHandler.class.php';
$tpl = new Smarty();
$tpl->caching = true;
$tpl->cache_lifetime = 120;
$tpl->debugging = true;
PHP-Code:
<?php
class MySqlHandler
{
public function GetQuery($queryContent)
{
require_once 'config.php';
$context = new PDO("mysql:host=localhost;dbname=". DATABASE ."", USERNAME , PASSWORD , array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'));
$out = $context->prepare($queryContent);
$out->execute();
return $out->fetchAll();
}
}
?>
PHP-Code:
<?php
define("DATABASE", "xxxx");
define("USERNAME", "xxxx");
define("PASSWORD", "xxxx");
?>
Kommentar