Mysql: ORDER BY... was mach ich falsch?
Micha
- datenbank
Hallo ihr da draußen....
ich hab mal wieder ein kleines problem:
Ich möchte mit der hilfe von dem mySQL befehl ORDER BY eine Tabellenausgebe sortieren. So ich benutze folgenden code:
//verbindung mit mySQL wurde über externe datei hergestellt
$order="date";
function bootlegs()
{
global $link;
$ergebnis = mysql_query( "select *
FROM bootlegs ORDER BY ".$order );
^
|
|
------------------------------------------ +
was stimmt hier nich? ich bekomme folgende fehlermeldung:
Warning: Supplied argument is not a valid MySQL result resource in f:\web\smells-like-nirvana\bootlegs_main.php on line 13
Ich hoffe mir kann jemand helfen
Danke schonmal im vorraus
Micha
Hi!
Vielleicht solltest Du in der Funktion auch $order noch als
global $order;
definieren!?
Heißt das Feld, nach dem Du sortieren willst "date" oder vielleicht "DATE". Sowas (Groß-/Kleinschreibung) kann auch dafür verantwortlich sein.
Grüße aus Benztown
Flo
There are only 10 types of people: Those who understand binaries and those who don't...
So ich habs nu so:
global $order;
$order="date";
function bootlegs($order)
{
global $link;
$ergebnis = mysql_query( "select *
FROM bootlegs ORDER BY ".$order );
....
und rufe alles dann so auf:
<?php bootlegs($order) ?>
geht aber immer noch nich (es kommt aber keine fehlermeldung mehr)
gruß micha
Hi!
Mit global meinte ich eher innerhalb der Funktion. Mit $link machst Du das ja auch...
function bootlegs() {
global $link;
gloabl $order;
[...]
}
Grüße
Flo
Hi!
Hi Flo
Problem is gelöst!
Thx
Grüße
Flo
Grüsse Micha
Hi,
Mit global meinte ich eher innerhalb der Funktion.
warum willst Du dem absolut sinnvollen Konzept der lokalen Scopes aktiv entgegenwirken? Wenn in einer Funktion Variablen verwendet werden sollen, dann übergib diese.
Cheatah
Hi Cheatah!
So dachte ich ja auch, bis ich einmal eine Funktion hatte, an die ich ca. 20 Variablen übergeben musste. Da wars mir dann doch lieber einmal in der Funktion global $var zu schreiben, als im nachfolgenden Skript die Funktion jedesmal mit 20 Parametern zu übergeben...
Danach gewöhnt man sich an sowas...
Grüße
Flo
Hi,
So dachte ich ja auch, bis ich einmal eine Funktion hatte, an die ich ca. 20 Variablen übergeben musste.
da diese Variablen vermutlich zumindest in Teilen sinnverwand sein dürften, ist es zu überlegen, diese in einem assoziativen Array zu speichern.
Danach gewöhnt man sich an sowas...
Das darf nicht passieren. Man muss sich der Vor- und Nachteile einer jeden Aktion bewusst sein.
Cheatah
$order="date";
function bootlegs()
{
global $link;
$ergebnis = mysql_query( "select *
FROM bootlegs ORDER BY ".$order );
Kleiner Tipp:
Wie aussieht verwendest PHP. verusch mal die $order Variable im functionskopf zu übergeben *ggg*
function bootlegs($order)
und aufrufen tust as sie nacha
bootlegs($order);
in PHP gibts keine globale Variablen-Deffinition, d.h. du musst eine Variable immer übergeben um sie in einer Funktion zu verwenden.
mfg
DMIII
Hi DMIII!
Wenn es keine globalen Variablen gibt, wie würdest Du dann folgendes interpretieren?
function Funktionsname() {
global $var;
}
und was sagst Du dann dazu:
http://php3.de/manual/de/migration4.variables.php
Grüße
Flo
Hi,
Wenn es keine globalen Variablen gibt,
das hat er nie gesagt; sondern nur, dass es keine globale Variablen-Definition gibt - und das stimmt. Variablen werden nämlich nicht definiert, sondern deklariert ;-)))
Cheatah, SCNR