Probleme mit mysql_query funktion

Guten tag.

Ich habe mir eine kleine funktion eingebaut damit mir das coden an sich ein wenig leichter fällt…

An sich ja eigentlich nichts aufwendiges… und genau weil das so einfach ist versteh ich nicht warum das nicht klappt…

am anfang meiner homepage steht
[php]$mysql_abfragen = 0;[/php]

und die funktion sieht so aus
[php]function qry($sql,$check=0)
{
if($check == 0){
$result = mysql_query($sql) or die(mysql_error());
return $result;
} else {
$result = mysql_query($sql) or die(mysql_error());
if(mysql_num_rows($result)){
return true;
} else {
return false;
}
}
$mysql_abfragen++;
}[/php]

Wenn ich jetzt irgendwo schreibe
[php]qry(„SELECT * FROM foobar WHERE foo=bar“, 1);
// oder
qry(„SELECT * FROM foobar WHERE foo=bar“);[/php]

dann müste mein query zähler ja eigentlich anzeigen wie viele querys durchgeführt wurden.

Jetzt zu meinem Problem.

Am ende meines codes steht
[php]<?=$mysql_abfragen?>[/php]

und da steht immernur 0.

kann mir hier jemand sagen, entweder was ich falsch mache oder wo man bei PHP den freien willen abstellen kann? :wink:

MFG

In diesem Fall müsstest du am anfang der funktion einfach [php]global $mysql_abfragen;[/php] schreiben.

naja geht immernoch nicht ^^ habs jetzt so geschrieben
[php]function qry($sql,$check=0)
{
global $mysql_abfragen;
if($check == 0){
$result = mysql_query($sql) or die(mysql_error());
return $result;
} else {
$result = mysql_query($sql) or die(mysql_error());
if(mysql_num_rows($result)){
return true;
} else {
return false;
}
}
$mysql_abfragen++;
}[/php]

machs doch einfach mit OOP, dann hast du solche probleme nicht.

Wieso dein Code jetzt nicht funktioniert, weiß ich nicht genau, hab noch nie globals benutzt. Soll auch irgendwie unsicher sein globals zu benutzen

ich hätte ja gerne alles in OOP gemacht, ist dies ein Projekt mit einigen anderen benutzern denen ich schrittweise versuche PHP zu erklären und die können ja nicht gleich mit OOP anfangen.

Naja dan nehm ich den zähler mal lieber aud meiner funktion raus, normale user interessiert sowas ja eh nicht :stuck_out_tongue:

Trotsdem danke für die hilfe.

MFG

Mir ist grad ein Geistesblitz gekommen.

Eigentlich ist es logisch, dass dein $mysql_abfragen nicht funktioniert.

Bevor dein Script dort ankommt, wird es immer durch ein return abgebrochen…

aua -.-’ auf das hätte ich auch alleine kommen können xD

geht jetzt doch ^^

[php]function qry($sql,$check=0)
{
global $mysql_abfragen;
if($check == 0){
$mysql_abfragen++;
$result = mysql_query($sql) or die(mysql_error());
return $result;
} else {
$mysql_abfragen++;
$result = mysql_query($sql) or die(mysql_error());
if(mysql_num_rows($result)){
return true;
} else {
return false;
}
}
}[/php]