Knud Schröder: (MySQL) select-Abfrage läuft einen Fehler

Beitrag lesen

$abfrage = "select * from inv_pc AND kategorie = 'S'";

Sorry, natürlich gehört hier ein Where rein. Also:
$abfrage = "select * from inv_pc where kategorie = 'S'";

Bei den ganzen Versuchen, die ich schon unternommen hatte, hat sich sogar ein echter dummer Fehler eingeschlichen, den ich natürlich prompt auch nocht hier gepostet habe. *schäm*

P.S. Ein passender Titel wäre kein Luxus

Stimme Dir zu, war ein wenig schnell *doppeltschäm*

Inzwischen hab ich die gleiche Abfrage in ein anderes Script reinkopiert und dort funktioniert es.
Es muss also irgendwas an der Datei selber sein, was dir Abfrage auf einen Fehler laufen lässt.
Aber warum kann ich mir die Anzahl der gefundenen Sätze anzeigen lassen, aber die Sätze nicht mit dem fetch_array ziehen?

Hier mal das ganze Script (ist nicht wirklich lang):
(über config.php hole ich mir Standard-Variablen wie login und passwort, pfadhtml, ... Das sind Standard-Geschichten, die bei _allen_ Scripten von mir zuerst geladen werden.)

<? require('/grab_globals.lib.php'); ?>
<html>
<head>
<?
include "/config.php";

echo "<link rel=stylesheet type="text/css" href="$pfadhtml/styles/styles.css">";
?>
</head>
<body>
<br><br>

<?

$count = 1;

$verbindung = @mysql_connect($server,$login,$pass);
if (!$verbindung) {
 echo "Keine Verbindung möglich!\n";
 exit;
}

echo "<table border=0 align=center>";
$fehler = 0;

$abfrage = "select * from inv_pc where kategorie = 'S'";
$erg = mysql_db_query($dbname,$abfrage,$verbindung);
while($row = mysql_fetch_array($erg)) {
 extract($row);
 $online = ping -n $count $ipadresse;  // schicke PING an IP-Adresse
 if (eregi("berschreitung", $online)) {  // Server antwortet nicht auf Ping-Kommando
  $fehler++;
  $datum = ("d.m.Y H:i:s");
  // Fehler im Protokoll speichern und Server anzeigen
  $abfrage1 = "insert into serverstat (jkserver, ipadresse, ausfall) values ('$mitarbeiter','$ipadresse','$datum')";
  $erg1 = mysql_db_query($dbname,$abfrage1,$verbindung);
  echo "<tr>";
  echo "<td><h3>$ipadresse</h3></td>";
  echo "<td><h3>$mitarbeiter</h3></td>";
  echo "<td><h3>$typ</h3></td>";
  echo "</tr>";
 } else {
  $abfrage = "update serverstat set verfuegbar = '$datum' where ipadresse = '$ipadresse' AND verfuegbar = ''";
  $erg = mysql_db_query($dbname,$abfrage,$verbindung);
 }
}
if ($fehler == 0) {
 $datum = ("d.m.Y H:i:s");
 $abfrage = "update serverstat set verfuegbar = '$datum' where verfuegbar = ''";
 $erg = mysql_db_query($dbname,$abfrage,$verbindung);

$abfrage = "show table status from jk like 'telefon';";
 $erg = mysql_db_query($dbname,$abfrage,$verbindung);
 $row = mysql_fetch_array($erg);
 extract($row);
 $jahr = substr($Update_time,0,4);
 $monat = substr($Update_time,5,2);
 $tag = substr($Update_time,8,2);
 $letzterausfall = "$tag.$monat.$jahr";

echo "<tr><td>Zur Zeit alle Server verfügbar</td></tr>";
 echo "<tr><td>letzter Ausfall am ... $letzterausfall</td></tr>";
}

$abfrage = "select count(*) as serveranz from inv_pc where kategorie = 'S'";
$erg = mysql_db_query($dbname,$abfrage,$verbindung);
$row = mysql_fetch_array($erg);
extract($row);

$abfrage = "select count(*) as ausfaelle from serverstat";
$erg = mysql_db_query($dbname,$abfrage,$verbindung);
$row = mysql_fetch_array($erg);
extract($row);

echo "<tr><td><br><br><hr>Bisher werden $serveranz Server überwacht und es wurden $ausfaelle Ausfälle protokolliert.</td></tr>";

echo "</table>";

?>
</body>
</html>