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-Key: 266732

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

Printed on: April 26, 2024 at 12:04 o'clock

Mitglied: 114757
114757 Mar 18, 2015 updated at 20:09:47 (UTC)
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
Member: LordKimahri
LordKimahri Mar 18, 2015 updated at 20:25:02 (UTC)
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!
Mitglied: 114757
114757 Mar 18, 2015 at 22:06:11 (UTC)
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 ?
Member: LordKimahri
LordKimahri Mar 18, 2015, updated at Mar 19, 2015 at 00:54:45 (UTC)
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
Mitglied: 114757
114757 Mar 19, 2015 updated at 07:40:59 (UTC)
Goto Top
Hier findest du ein funktionsfähiges Beispiel mit PDO:
Suche Gratis-Speicherdienst (will eine Variable im Web speichern)

Gruß jodel32
Member: Biber
Biber Mar 19, 2015 updated at 09:19:52 (UTC)
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
Member: LordKimahri
LordKimahri Mar 19, 2015 at 09:50:43 (UTC)
Goto Top
ich möchte dich nicht bloßstellen aber wenn am anfang ne settings.php geladen wird woher kommen dann wohl diese werte?
Member: Biber
Biber Mar 19, 2015 at 10:07:09 (UTC)
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
Member: LordKimahri
LordKimahri Mar 19, 2015 at 10:13:42 (UTC)
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!!
Mitglied: 114757
114757 Mar 19, 2015 updated at 10:19:53 (UTC)
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.
Member: LordKimahri
LordKimahri Mar 19, 2015 at 16:55:59 (UTC)
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!
Mitglied: 114757
114757 Mar 19, 2015 updated at 18:10:25 (UTC)
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)
Member: LordKimahri
LordKimahri Mar 20, 2015 at 10:04:08 (UTC)
Goto Top
Und warum schlägt die anfrage fehl, wenn es schon mit einer anderen datenbank und selbem code funktioniert hat?
Mitglied: 114757
114757 Mar 20, 2015 at 10:15:38 (UTC)
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...
Member: SlainteMhath
SlainteMhath Mar 20, 2015 at 15:11:08 (UTC)
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