Datenbankabfrage per PHP schlägt fehl ohne fehlermeldung
Ich möchte per PHP den inhalt der Datenbank auslesen die ich folgendermaßen anlegen musste:
Abfragen will ich mittels dieses PHP-Scripts:
Anlegen musste ich die DB so weil ein Bukkitplugin dies so braucht, kann dies leider auch nicht ändern!
Steht nur
Ungültige abfrage:
als meldung
CREATE TABLE IF NOT EXISTS `tbl_users` (
`name` varchar(256) NOT NULL,
`uuid` varchar(256) NOT NULL,
`oper` varchar(256) NOT NULL,
`time` varchar(256) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Abfragen will ich mittels dieses PHP-Scripts:
<?php
require_once ('settings.php');
$db_link = mysqli_connect (
$servername,
$username,
$password,
$dbname
);
$sql = "SELECT * FROM tbl_users";
$db_erg = mysqli_query( $db_link, $sql );
if ( ! $db_erg )
{
die('Ungültige Abfrage: ' . mysqli_error());
}
echo
'
</br></br></br></br><center><h3>Whitelistet Users</h3></center></br></br><title>| Gaming-Squad | Abusesystem |</title>
<table align="center" border="0">
<tr>
<td width="200" align="center">Spieler</td>
<td width="200" align="center">UUID</td>
<td width="200" align="center">Admin</td>
</tr>
';
while ($zeile = mysqli_fetch_array( $db_erg, MYSQL_ASSOC))
{
echo "<tr>";
echo "<td width='200' align='center'>". $zeile['name'] ."</td>";
echo "<td width='200' align='center'>". $zeile['uuid'] ."</td>";
echo "<td width='200' align='center'>". $zeile['oper'] ."</td>";
echo "</tr>";
}
echo "</table>";
echo"</br>";
echo "<center><a href='http://mcabuse.gaming-squad.eu/index.php'>Abuse-Verzeichniss</a></center>";
echo"</br>";
echo"</br>";
echo"</br>";
echo"</br>";
echo"</br>";
echo"</br>";
echo"</br>";
echo"</br>";
echo "<div align='right'>Copyright by ©Gaming-Squad.eu </br>
WebGui für Gaming-Squad.eu - MC-Server erstellt von Kimahri
</div>";
mysqli_free_result( $db_erg );
?>
Anlegen musste ich die DB so weil ein Bukkitplugin dies so braucht, kann dies leider auch nicht ändern!
Steht nur
Ungültige abfrage:
als meldung
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 266732
Url: https://administrator.de/contentid/266732
Ausgedruckt am: 23.11.2024 um 03:11 Uhr
15 Kommentare
Neuester Kommentar
Moin,
ich würde erst mal prüfen ob der Connect zur Datenbank überhaupt geklappt hat. Das machst du in deinem Code ja gar nicht.
Gruß jodel32
ich würde erst mal prüfen ob der Connect zur Datenbank überhaupt geklappt hat. Das machst du in deinem Code ja gar nicht.
$db_link = ...........
if (!$db_link)
{
die("Connection error: " . mysqli_connect_errno());
}
Gruß jodel32
- Was ist das für ein OS ?
- Welche PHP und MySQL Version ?
- Schon mal anstatt von localhost die IP oder den Hostname als Parameter übergeben ?
- ist die mysqli Extension korrekt installiert und aktiviert ?
- statt mysqli mal PDO für eine Datenabfrage probiert ?
Hier findest du ein funktionsfähiges Beispiel mit PDO:
Suche Gratis-Speicherdienst (will eine Variable im Web speichern)
Gruß jodel32
Suche Gratis-Speicherdienst (will eine Variable im Web speichern)
Gruß jodel32
Moin LordKimahri,
nicht, dass ich die PDO-Alternative-Diskussion abwürgen will, aber..
Oder mit welchem Code hast du die Meldung "Connection error: 0" erzeugt?
Bekommst du denn eine Verbindung, wenn du mal hart verdrahtest eingibst:
... statt diese Variablen $servername, $username etc, von denen wir ja nicht wissen, wo sie definiert werden?
Grüße
Biber
nicht, dass ich die PDO-Alternative-Diskussion abwürgen will, aber..
Zitat von @LordKimahri:
danke nen ansatz mehr:
Connection error: 0
war das ergebnis nach einbau der connectionabfrage
Ähm, das heisst doch, du bist in den Zweig danke nen ansatz mehr:
Connection error: 0
war das ergebnis nach einbau der connectionabfrage
if (!db_link) ..
reingelaufen... das Verbinden hat nicht geklappt.Oder mit welchem Code hast du die Meldung "Connection error: 0" erzeugt?
Bekommst du denn eine Verbindung, wenn du mal hart verdrahtest eingibst:
$db_link = mysqli_connect ( "localhost", "deinUser", "seinPasswort", "eureDB")
... statt diese Variablen $servername, $username etc, von denen wir ja nicht wissen, wo sie definiert werden?
Grüße
Biber
Ab PHP 5.5.0 ist mysqli sowieso als deprecated gekennzeichnet, also steige gleich auf PDO um.
Das Error-Reporting einzuschalten sollte ich hier nicht weiter erwähnen müssen, oder ?
Vermutlich hat dein Server Probleme mit der Extension in Kombination mit der mySQL Version, deswegen wollte ich das du mal PDO einfach ausprobierst um Fehler in dieser Hinsicht auszuschließen.
Das Error-Reporting einzuschalten sollte ich hier nicht weiter erwähnen müssen, oder ?
<?php
error_reporting(E_ALL);
?>
Zitat von @LordKimahri:
vllt nen fertiges script für meinen zweck zur hand das ich mir anschauen kann?
Lese doch bitte mal die Links die man dir oben schon gepostet hat , das Web ist ebenfalls voll davon.vllt nen fertiges script für meinen zweck zur hand das ich mir anschauen kann?
Suche Gratis-Speicherdienst (will eine Variable im Web speichern)
Zitat von @LordKimahri:
Und warum schlägt die anfrage fehl, wenn es schon mit einer anderen datenbank und selbem code funktioniert hat?
wann hat es funktioniert ? geht eine andere DB jetzt noch mit dem Code, oder war das anno dazumal ? Wurde am System etwas geändert ? erstelle eine neue DB mit einer Testtabelle und überprüfe das...Und warum schlägt die anfrage fehl, wenn es schon mit einer anderen datenbank und selbem code funktioniert hat?
Wir haben hier leider dein System nicht vor der Nase...
Moin,
Fakt ist das die Verbindung zur DB schon nicht hinhaut.
Also:
1. error_reporting(E_ALL); sonst wird u.U. eh nichts angezeigt
2. Verbindungsparameter prüfen ( $servername, $username, $password, $dbname ) ggfs. Variablen durch Literale ersetzen
3. Logs (access, error, mysql und syslog) prüfen.
und
4. Mit den Ergebnissen hier wieder antanzen
lg,
Slainte
Fakt ist das die Verbindung zur DB schon nicht hinhaut.
Also:
1. error_reporting(E_ALL); sonst wird u.U. eh nichts angezeigt
2. Verbindungsparameter prüfen ( $servername, $username, $password, $dbname ) ggfs. Variablen durch Literale ersetzen
3. Logs (access, error, mysql und syslog) prüfen.
und
4. Mit den Ergebnissen hier wieder antanzen
lg,
Slainte