Simon: bekomme bei MySQL Abfrage, keine Daten obwohl vorhanden

Hallo,

Ich versuche mit untenstehendem Code Daten aus einer MySQL DB zu ziehen.
Auf error report=0, bring er mir keine Fehlermeldung, aber auch keine Daten.

Zudem haba ich jedes einzelne Feld auf Schreibfehler überprüft, aber ich finde keinen.

Kann hier jemand helfen?

Ich wäre sehr dankbar.

Mit besten Grüssen,

Simon

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<?php
include("login.php");
$bstgroup = "SELECT * FROM bstgroup";
$bgroup2=mysql_query($bstgroup);
?>
<html>
<head>
<title>BST Users - User Overview</title>
<link href="tech/style2" rel="stylesheet" type="text/css" />
</head>

<body>
<Div class="left_column">
<ul>
<li><a href="">Ticketcenter</a></li>
<li><a href="">Contacts</a></li>
<li><a href="">Companies</a></li>
<li><a href="">Standard Products</a></li>
<li><a href="">Interfaces</a></li>
<li><a href="">News</a></li>
<p class="link_active">BST Users</p>
<li>New User</li>
<li>View Existing Users</li>
<li><a href="">Search</a></li>
<li><a href="">Logout</a></li>
</ul>
</Div>
<Div class="container">
<p>Please enter employee information below</p>
<?php
include("login.php");
$sql = "SELECT BSTID, bstlast, bstfirst, BSTGID, phoneint, phonemob, bstmail, phonehome, bstadress, bstadress2,bstpostcode, bstcity, bstcountry FROM bstusers SORT BY bstmail";
$result=mysql_query($sql);
?>
<table>
<tr>
 <td><b>Last Name</b></td>
 <td><b>First Name</b></td>
    <td><b>Group</b></td>
    <td><b>Int. No.</b></td>
    <td><b>Mobile</b></td>
    <td><b>Email</b></td>
 <td>&nbsp;</td>
 <td>&nbsp;</td>
    <td>&nbsp;</td>
</tr>
<?php
while ($row = mysql_fetch_array ($result))
{
?>
<tr>
<td><?php echo $row["bstlast"] ?></td>
<td><?php echo $row["bstfirst"] ?></td>
<td><?php echo $row["BSTGID"] ?></td>
<td><?php echo $row["phoneint"] ?></td>
<td><?php echo $row["phonemob"] ?></td>
<td><?php echo $row["bstmail"] ?></td>
<td>View</td>
<td>Edit</td>
<td>Delete</td>
</tr>
<?php
}
?>
</table>
</Div>
</body>
</html>

  1. Auf error report=0, bring er mir keine Fehlermeldung, aber auch keine Daten.

    Erkenntnisgewinn = 0
    Was schließt Du daraus?

    mach erst mal
    error_reporting(E_ALL);
    und
    $result = mysql_query($sql) OR die(mysql_error());

    1. Herzlichen Dank,

      Hat super geklappt.

      Simon

      1. Bitte, Vinzenz Mai hat aber Recht, je nach Anwendung kann die() ungeeignet sein.

        Für die Fehlersuche in der Entwicklungsphase und um dabei zu verhindern, daß durch einen Fehler, mehr Datensalat entsteht als nötig, ist es aber oft eine gute, weil einfache, Wahl.

        1. echo $begrüßung;

          Bitte, Vinzenz Mai hat aber Recht, je nach Anwendung kann die() ungeeignet sein.
          Für die Fehlersuche in der Entwicklungsphase und um dabei zu verhindern, daß durch einen Fehler, mehr Datensalat entsteht als nötig, ist es aber oft eine gute, weil einfache, Wahl.

          Auch dafür ist es keine gute Wahl. Einfach ist es in der Tat. Doch am Ende kommst du nicht umhin, eine ordentliche Fehlerbehandlung einzubauen, wenn du das Script robust halten willst. Wenn man mal eben fix was testen möchte, ist es meiner Meinung nach vertretbar. Jedoch sollte man damit gar nicht erst anfangen, wenn man ein Script schreibt, das am Ende produktiv genutzt werden soll. Wer hat schon Lust, ein "funktionierendes" Script nochmal so umzuschreiben, dass es das auch im Fehlerfall noch tut?

          echo "$verabschiedung $name";

  2. Hallo

    Auf error report=0, bring er mir keine Fehlermeldung, aber auch keine Daten.

    Es heißt error_reporting und der Wert 0 schaltet es aus. Außerdem sind SQL-Fehler keine PHP-Fehler ...

    $bstgroup = "SELECT * FROM bstgroup";
    $bgroup2=mysql_query($bstgroup);

    Du setzt eine böse[tm] Abfrage mit SELECT * ab, deren Ergebnis Du nirgendwo (im sichtbaren Code) verwertest. Weg damit.

    [...]

    $sql = "SELECT BSTID, bstlast, bstfirst, BSTGID, phoneint, phonemob, bstmail, phonehome, bstadress, bstadress2,bstpostcode, bstcity, bstcountry FROM bstusers SORT BY bstmail";

    Deine SQL-Anweisung ist syntaktisch falsch. Die letzte Klausel ist unbekannt.

    $result=mysql_query($sql);

    [...]
    Daher liefert mysql_query den Wert false zurück

    while ($row = mysql_fetch_array ($result))

    und das hier würde bei error_reporting(E_ALL) und display_errors = on eine Fehlerausgabe produzieren, da $result keine gültige MySQL-Ressource enthält ...

    Ach ja, die() ist _keine_ sinnvolle Fehlerbehandlung :-)

    Freundliche Grüße

    Vinzenz