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

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);

...

}

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

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...