Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo Community!

Ich habe ein dickes PHP Problem an dem ich schon ne ganze weile festhänge.

$abfrage = mysql_query("select postfach from msg_user where username = '$nicknameto'");

if(mysql_num_rows($abfrage) > 5) {
$this->send("Der Posteingang von $nicknameto ist voll.");
} else {[/PHP]

Ich lasse mir dann die num_rows ausgeben aber diese sind 0 obwohl sie in meiner Tabelle NICHT 0 sind, weiß evtl. einer was da schief läuft?

grüße

Geschrieben

Hast du in deiner DB- Klasse

function num_rows()

{

return mysql_num_rows($this->Query_ID);

}

So mache ich das immer !

Oder vll solltest du deinen SELECT ausgeben und diesen dann über PHPMYADMIN absetzen und dann schauen was rauskommt !

Geschrieben

@Dukanos: Der Select stimmt eigentlich so wie ich ihn habe, hab ihn auch schon direkt in phpmyadmin getestet

@HJST1979: Ich brauch dafür ne extra funktion?

Geschrieben

Nein, du brauchst eig. keine neue Funktion dafür. Ich tippe mal auch auf den Fehler von Dukanos.


SELECT postfach FROM msg_user WHERE username = '$nicknameto'
[/PHP]

So sieht der String aus wenn er zur Datenbank geht. $nicknameto ist ebenfalls eine Stringvariable, die in einem String geht. Die musst du also verketten. Lösung s. Oben.

Mit freundlichen Grüßen,

Cadpax

Geschrieben


$abfrage = mysql_query("select postfach from msg_user where username = '$nicknameto'");

if (!$abfrage)
{
$this->send("MySQL-Fehler: ". mysql_error());
}
else
{
if(mysql_num_rows($abfrage) > 5) {
$this->send("Der Posteingang von $nicknameto ist voll.");
}
else
{
...
}
[/PHP]

Ich würde das mal probieren. Dann weißt du, dass deine Abfrage wirklich funktioniert hat. Das mit der Variable im String ist so ok. Variablen in Strings mit " werden vom PHP durch deren Inhalt ersetzt. Bei Strings mit ' ist das nicht so. Also ist das Konstrukt oben vollkommen ok.

Ach ja, du solltest mysql_query auf jeden Fall die Verbindungskennung mitgeben (als zweiten Parameter). Ja das muss man nicht, aber es ist sauberer finde ich. Du könntest ja zwei Verbindungen offen haben oder sonst was. Wenn du die Verbindung immer mitgibst brauchst du dich darum nicht zu kümmern. Es ist ja toll wenn php sowas alleine macht, aber das ist damit auch viel anfälliger und unkontrollierbarer, IMHO.

Gib deiner Klasse eine Property db, in der die Verbindung steht:

[php]

class Bla
{
var $db;

...

$this->db = mysql_connect('localhost', 'mysql_user', 'mysql_password');

...

$result = mysql_query("bla bla", $this->db);

...

}

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...