mysql_fetch_array()

tim-pong

Mitglied
Hi Leute,

Ich habe folgendes Problem:

"Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/web5/html/urlaub/index.php on line 107"

Der Code:
PHP:
<?php 
	  $sql123 = mysql_query("SELECT COUNT(*) FROM PMs WHERE to LIKE '".$_SESSION['user']."'");
	  $res2 = mysql_fetch_array($sql123);
	  echo($res2[0]);
	  ?>

Ich hoffe mir kann jemand helfen

Tim
 
Es liegt daran, dass du ein in MySQL reserviertes Wort (to) verwendest. Wenn du weiterhin diesen Bezeichner benutzen möchtest, musst du ihn in sog. Backticks (`, Akzent Grave, ASCII 96) setzen:
PHP:
<?php
  $sql123 = mysql_query("SELECT COUNT(*) FROM PMs WHERE `to` LIKE '".$_SESSION['user']."'");
  $res2 = mysql_fetch_array($sql123);
  echo($res2[0]);
?>
Weitere Informationen zum Thema:
&nbsp;&rsaquo;&rsaquo;&nbsp;MySQL Manual | 7.1.6 Ist MySQL pingelig hinsichtlich reservierter Wörter?
&nbsp;&rsaquo;&rsaquo;&nbsp;MySQL Manual | 7.1.2 Datenbank-, Tabellen-, Index-, Spalten- und Alias-Namen


Achja, gib' dir beim nächsten Mal etwas mehr Mühe bei der Findung einer passenden Überschrift.
 
in deinem echo aufruf ist die ausgabe des arrays mit ($res2[0]) so angegeben.

also zum einen - die tabelle 0 wird es wohl doch nicht wirklich geben oder? wenn ja, solltest du dir gedanken über klare tabellennamensvergabe machen.

als zweiter punkt ist der echo aufruf wie folgt:

echo $res2[0];

mehr nicht. Wenn du html dazu packen willst, wird der aufruf dann wie folgt in eine tabelle integriert:

echo "<table><tr><td>".$res2[spalte]."</td></tr></table>";

und warum ist to in `` eingebunden? ist das ein spaltenname?
 
Zurück