Archiv verlassen und diese Seite im Standarddesign anzeigen : funktionen + MYSQL_QUERY
Hallo,
hab ein komisches problem:
wenn ich in nem prog ganz normal $result = MYSQL_QUERY("SELECT parameter FROM data");
while($zeile=MYSQL_FETCH_ROW($result))
{
print "bla";
}
eingebe tuts gut, nur wenn ich drumrum ne funktion:
function holedaten()
{
........
}
mache kommt:
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in ....
mehlvogel
27-01-2003, 12:57
Lass dir mal den Fehler mit mysql_error() ausgeben.
1064: You have an error in your SQL syntax near '' at line 1
function getpara()
{
$result=MYSQL_QUERY("SELECT parameter FROM daten");
$para=MYSQL_FETCH_ROW($result);
echo mysql_errno() . ": " . mysql_error(). "\n";
}
Ich hab mich auch lange mit solchen Fehlern heraumgeplagt, bis ich
http://pear.php.net gefunden habe.
Da haben Profis meine Probleme schon gelöst.
Keine Sorgen mehr mit Hackern und eigenen Fehlern.
Schau dir speziell das DB-Paket an und
http://www-user.tu-chemnitz.de/~meal/php/peardoc/index.html
mehlvogel
27-01-2003, 13:30
Naja es ist egal ob man nun mysql_query(...) oder $db->query(...) übergibt - ich selbst bin von PEAR nicht so begeistert - generell ist vorsicht geraten sich auf PEAR zu verlassen, alleine deshalb, weil es net überallinstalliert ist.
Wenn man die funktion weg macht gehts dann? Der 100%ig gleiche Query?
wenn man die funktion drumrum wegmacht also nur
$result=MYSQL_QUERY("SELECT parameter FROM $usertablepara");
$para=MYSQL_FETCH_ROW($result);
echo mysql_errno() . ": " . mysql_error(). "\n";
tuts wunderbar.
kein fehler.
mehlvogel
27-01-2003, 13:43
da haben wirs auch schon: Die Variable ist schuld - in der Funktion selbst steht dise zunächst nicht zur Verfügung, man muss sie entweder mit Übergeben, oder per Global anbinden (und da hätte PEAR auch net geholfen).
// Funktion mit paramterübergabe
functionhole_daten($tabelle) {
$result = mysql_query("SELECT * FROM ".$tabelle);
/* .. */
}
// Aufruf
hole_daten("Tabellenname");
Per global:
function hole_daten() {
global $tabelle;
$result = mysql_query("SELECT * FROM ".$tabelle);
/* ... */
}
silvercross
28-01-2003, 22:03
nicht auf das return vergessen in der funktion.... *mit dem hab i lange gehangen*
Powered by vBulletin® Version 4.2.5 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.