system
10. Dezember 2006 um 16:27
1
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?
MFG
blax
10. Dezember 2006 um 16:31
2
In diesem Fall müsstest du am anfang der funktion einfach [php]global $mysql_abfragen;[/php] schreiben.
system
10. Dezember 2006 um 16:37
3
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]
Frank
10. Dezember 2006 um 16:39
4
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
system
10. Dezember 2006 um 16:43
5
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
Trotsdem danke für die hilfe.
MFG
Frank
10. Dezember 2006 um 16:50
6
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…
system
10. Dezember 2006 um 16:57
7
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]