Hallo,
gibt es irgendeine Regel oder irgend etwas, was verbietet in einer Funktion eine MySQL Abfrage zu machen?
Nein.
Dein Problem ist, dass Du in der Funktion drin
gewisse Variablen verwenden willst, die Du
ausserhalb der Funktion definiert hast.
function site($i)
{
$connect = mysql_connect($db_host,$db_user,$db_pass);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
wo sind die definiert?
Tip: mit der Zeile
global $db_host, $db_user, $db_pass;
ganz am Anfang der Funktion kannst Du diese
Variablen verfuegbar machen.
Zudem hast Du kein vernuenftiges Fehlermanagement.
Bei jedem Schritt solltest Du im Fehlerfall eine
Meldung ausgeben, damit Du sofort weisst, _wo_
etwas schief laeuft.
Statt nur
$connect = mysql_connect($db_host,$db_user,$db_pass);
solltest Du z.B. schreiben:
$connect = mysql_connect($db_host,$db_user,$db_pass)
OR die("Fehler: Konnte nicht mit dem Datenbankserver verbinden.");
u.s.w.
Woher hast Du diesen schlechten Code ohne Fehlermanagement?
Lies unbedingt mal das Manual und nimm dessen Code als Beispiel!
http://www.php.net/manual/de/ref.mysql.php
$site_reason = "SELECT * FROM
\_sites
WHEREid
= '".$i."'";
=> http://www.dclp-faq.de/q/q-sql-select.html
und die Fehlermeldung:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\xxx\functions.php on line 16
... ist vermutlich ein Folgefehler.
Weil die Verbindung nicht hergestellt wurde,
gibt es auch kein Resultat. So einfach ist das. ;-)
Gruesse,
Thomas
Dank /my/ automatisch ausgeblendet: JavaScript, ASP.
Manuell "ausgeblendet": Threads mit Frames, Iframes und Scrollbalken im Subject...
Bitte keine Mails mit Fachfragen - dafuer gibt es das Forum!