lordkimahri
Goto Top

Datenbankabfrage per PHP schlägt fehl ohne fehlermeldung

Ich möchte per PHP den inhalt der Datenbank auslesen die ich folgendermaßen anlegen musste:
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 &copy;Gaming-Squad.eu&nbsp;&nbsp;&nbsp;&nbsp;</br>  
WebGui f&uuml;r Gaming-Squad.eu - MC-Server erstellt von Kimahri&nbsp;&nbsp;&nbsp;&nbsp;
</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

Content-ID: 266732

Url: https://administrator.de/contentid/266732

Ausgedruckt am: 23.11.2024 um 03:11 Uhr

114757
114757 18.03.2015 aktualisiert um 21:09:47 Uhr
Goto Top
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.
$db_link = ...........
if (!$db_link)
  {
  die("Connection error: " . mysqli_connect_errno());  
  }

Gruß jodel32
LordKimahri
LordKimahri 18.03.2015 aktualisiert um 21:25:02 Uhr
Goto Top
danke nen ansatz mehr:

Connection error: 0

war das ergebnis nach einbau der connectionabfrage

die daten der db sind aber korrekt, mehrmals überprüfft.

und der zugriff auf die db erfolg lokal, datei liegt auf selbem server wie die DB!
114757
114757 18.03.2015 um 23:06:11 Uhr
Goto Top
  • 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 ?
LordKimahri
LordKimahri 18.03.2015, aktualisiert am 19.03.2015 um 01:54:45 Uhr
Goto Top
Ubuntu 14.04.1 LTS
Server Version: 5.5.41-0ubuntu0.14.04.1 - (Ubuntu)
PHP-Version: 5.5.9+dfsg-1ubuntu4.6

IP oder domain probiert ohne ergebnis.

PDO hast vllt ma nen link oder nen beispiel wies aussehen muss?

Noch nie gemacht!

edit

Habe mir das mal angesehen auf verschiedenen seite und muss sagen, ich raffs iwie net ganz, völliges neuland.

Wäre vllt jemand so lieb mir mein script auf PDO umzuschreiben?!?

Ich bin jemand der eher etwas versteht wenn es auf meine Situation passt. So allgemeine erklärungen verstehe ich seltens zu 100% face-sad
114757
114757 19.03.2015 aktualisiert um 08:40:59 Uhr
Goto Top
Hier findest du ein funktionsfähiges Beispiel mit PDO:
Suche Gratis-Speicherdienst (will eine Variable im Web speichern)

Gruß jodel32
Biber
Biber 19.03.2015 aktualisiert um 10:19:52 Uhr
Goto Top
Moin LordKimahri,

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 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
LordKimahri
LordKimahri 19.03.2015 um 10:50:43 Uhr
Goto Top
ich möchte dich nicht bloßstellen aber wenn am anfang ne settings.php geladen wird woher kommen dann wohl diese werte?
Biber
Biber 19.03.2015 um 11:07:09 Uhr
Goto Top
Moin LordKimahri,

ach was. *staun*

Meine Hauptfrage war eigentlich, wo du denn die Meldung "Connection error: 0" gelesen hast, weil... eigentlich sollte die doch nur lesbar sein, wenn KEINE Connection etabliert wird.

Grüße
Biber
LordKimahri
LordKimahri 19.03.2015 um 11:13:42 Uhr
Goto Top
Zitat von @Biber:

Moin LordKimahri,

ach was. *staun*

Meine Hauptfrage war eigentlich, wo du denn die Meldung "Connection error: 0" gelesen hast, weil... eigentlich
sollte die doch nur lesbar sein, wenn KEINE Connection etabliert wird.

Grüße
Biber

schau mal genau die beiträge durch^^ da is auch nen code den ich einbauen sole um die connection zu prüfen!!
114757
114757 19.03.2015 aktualisiert um 11:19:53 Uhr
Goto Top
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 ?
<?php
   error_reporting(E_ALL);
?>
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.
LordKimahri
LordKimahri 19.03.2015 um 17:55:59 Uhr
Goto Top
ie gesag nie mit pdo gearbeitet, vllt nen fertiges script für meinen zweck zur hand das ich mir anschauen kann?

Komisch ist nur das alle anderen abfragen die ich mache 100% funktionieren!
114757
114757 19.03.2015 aktualisiert um 19:10:25 Uhr
Goto Top
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 face-sad, das Web ist ebenfalls voll davon.
Suche Gratis-Speicherdienst (will eine Variable im Web speichern)
LordKimahri
LordKimahri 20.03.2015 um 11:04:08 Uhr
Goto Top
Und warum schlägt die anfrage fehl, wenn es schon mit einer anderen datenbank und selbem code funktioniert hat?
114757
114757 20.03.2015 um 11:15:38 Uhr
Goto Top
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...
Wir haben hier leider dein System nicht vor der Nase...
SlainteMhath
SlainteMhath 20.03.2015 um 16:11:08 Uhr
Goto Top
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 face-smile

lg,
Slainte