xOneDirectionx (08.04.2013)
Thema: [MySQL] Leere Rückgabe
-
08.04.2013, 21:11 #1
- Registriert seit
- 18.03.2013
- Beiträge
- 481
Thanked 264 Times in 168 Posts[MySQL] Leere Rückgabe
Ich habe (mal wieder) ein Problem mit dem verdammten MySQL. Da ich weiß, dass hier einige erfahrene PHP-Programmierer in Verbindung mit MySQL unterwegs sind, stell ich die Frage hier und nicht wo anders
Ich möchte eine Homepage basteln, bei welcher die Inhalte aus einer Datenbank gelesen werden, damit das online bearbeiten vereinfacht wird. Ich habe das ganze bereits lokal sowie auf einem Webspace getestet.
Erstmal meine Ordnerstruktur:
- Root
- - Forum
- - Homepage
- - -Data
- - - - images
Im Forums-Verzeichnis ist ein Forum der MyBB-Software installiert. Im Homepage-Verzeichnis liegt aktuell eine index.php, im Data-Ordner meine .tpl-Datei, welche sich später um den Aufbau und die visuelle Gestaltung der Homepage kümmern soll. Im gleichen Verzeichnis auch meine Dateien mysql.php und meine functions.php.
Die index.php beinhaltet folgenden Code:
PHP-Code:<?php
chdir('../forum/');
define('IN_MYBB', 1);
require '../forum/global.php';
require 'data/functions.php';
require 'data/mysql.php';
$titel = 'Startseite';
$pageID = getPageIDByName($titel);
$pageContent = getPageContent($pageID);
$seitenlink = $_SERVER['REQUEST_URI'];
$internlink = ' ';
if (hasUserInternRights()) {
$internlink = '<li><a href="intern.php">Intern</a></li>';
}
if (isUserInGroup(9)) {
$pageID = 'Seitennummer: ' . $pageID;
} else {
$pageID = ' ';
}
echo str_replace(array('<?titel?>', '<?seitentext?>', '<?seitenlink?>', '<?internlink?>, <?pageid?>'), array($titel, $pageContent, $seitenlink, $internlink, $pageID), implode("", file("../homepage/data/style.tpl")));
?>
Diese Funktion wird korrekt ausgeführt, bei der Startseite bekomme ich richtigerweise 1 zurück.
$pageContent = getPageContent($pageID);
Hier liegt warum auch immer der Fehler. Die Funktion ist in die mysql.php ausgelagert, in welcher die wichtigen Teile folgendermaßen aussehen:
PHP-Code:$host = 'localhost';
$user = 'root';
$pass = '';
$database = 'homepage';
$sqlConnection = mysql_connect($host, $user, $pass);
$sql_Database = mysql_select_db($database, $sqlConnection);
if (!function_exists(getPageContent)) {
function getPageContent($pageID) {
$query = "SELECT text FROM hp_sites WHERE ID=$pageID";
$pageContent = mysql_query($query, $sql_Database);
if(!$pageContent) {
die('Befehl konnte nicht ausgeführt werden: <br />' . mysql_error());
}
return $pageContent;
}
}
Ist noch nicht escaped, i know. Wichtig ist mir erst mal, dass es funktioniert. Aktuell funktioniert es aber nicht, mir wird immer nur die Ausgabe aus der die-Anweisung angezeigt ("Befehl konnte nicht ausgeführt werden:"). Komplett ohne Fehler und so.
Bei Bedarf lass ich euch per PN die Dateien und die Datenbank zukommen. Dafür einfach per PN dann melden.
-
08.04.2013, 21:22 #2
- Registriert seit
- 15.11.2011
- Beiträge
- 6.080
- Blog Entries
- 5
Thanked 9.118 Times in 2.995 PostsAW: [MySQL] Leere Rückgabe
PHP-Code:$sql_Database = mysql_select_db($database, $sqlConnection);
$pageContent = mysql_query($query, $sql_Database);
PHP: mysql_select_db - Manual
-
The Following User Says Thank You to DMW007 For This Useful Post:
-
08.04.2013, 22:14 #3
- Registriert seit
- 18.03.2013
- Beiträge
- 481
Thanked 264 Times in 168 PostsAW: [MySQL] Leere Rückgabe
Ähm ja, sowas nennt man Fail...
Habe es jetzt zum Laufen bekommen, wenn ich die Abfrage direkt in der index.php durchfür. Ausgelagert in die mysql.php funktioniert es nicht mehr. Lese jetzt auf jeder Seite extra aus der Datenbank, ohne zentrale Funktion. Danke für deinen Hinweis DMW007.
Vote4Close
Ähnliche Themen
-
Xampp Service mysql is not installed Service mysql is not started
Von Essah im Forum WebentwicklungAntworten: 8Letzter Beitrag: 22.03.2014, 22:57 -
Verschenke Leere PSC Codes
Von Bazs im Forum VerschenkeAntworten: 4Letzter Beitrag: 15.04.2013, 23:41 -
iPhone 4 Rückgabe!
Von Mustafa309 im Forum iOSAntworten: 4Letzter Beitrag: 01.01.2012, 23:22
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.