Select from -> Ausgabe des Wertes
Marianne
- php
0 Axel Richter0 Marianne0 Tom0 Axel Richter0 Tom
Hallo Forum
Ich bin ein PHP/MYSQL Newbie. Leider hat mich die Suche
im Internet nicht weiter gebracht :-(
Ich habe folgende Abfrage:
--------------------------------------------------------
$strQuery = "SELECT * FROM adressen ";
$strQuery .= "WHERE email = '$email-adresse' ";
$intMaxRows = mysql_num_rows($dbRS);
$dbRS = MySQLQuery($strQuery);
$arrRS = mysql_fetch_array($dbRS);
$strNamewirklich = $arrRS["name"]; // $arrRS["name"] ist der Spaltenname in der DB!
echo"Name: $strNamewirklich";
echo"Anzahl Datensätze: $intMaxRows";
--------------------------------------------------------
Meine Frage: Warum ist der Wert von '$intMaxRows' korrekt "1",
während ich unter "Name" ('$strNamewirklich') nichts erhalte?
Warum zeigt er mir den Namen nicht an?
Bitte verzweifelt um Hilfe!!!
Liebe Grüsse, Marianne
Hallo,
Ich habe folgende Abfrage:
$strQuery = "SELECT * FROM adressen ";
$strQuery .= "WHERE email = '$email-adresse' ";
^Diese Variable wird nicht geparsed, weil sie in einfachen Quotes steht.
http://de2.php.net/manual/de/language.types.string.php
$strQuery .= "WHERE email = '".$email-adresse."' ";
Den Textverkettungsoperator(.) kennst Du ja offensichtlich.
$intMaxRows = mysql_num_rows($dbRS);
^Woher soll hier schon der Wert in $dbRS kommen, wenn er doch in der nächsten Zeile erst zugewiesen wird?
$dbRS = MySQLQuery($strQuery);
^Wo ist diese Funktion definiert?
http://de2.php.net/manual/de/ref.mysql.php
http://de2.php.net/manual/de/function.mysql-query.php
viele Grüße
Axel
1000-Dank, Axel!!!
Jetzt funktionierts!
Grüss Dich, Marianne
Hello,
Ich habe folgende Abfrage:
$strQuery = "SELECT * FROM adressen ";
$strQuery .= "WHERE email = '$email-adresse' ";
^Diese Variable wird nicht geparsed, weil sie in einfachen Quotes steht.
Das sehe ich anders. Der zugewiesene String beginnt mit doppelten Anführungszeichen. Daher werden auch bei der Zuweisung alle Variablen ersetzt, die drinstehen. Die einfachen Anführungszeichen ändern daran nichts mehr. Sie werden mit ausgegeben.
Ich würde den Fehler darin sehen, dass das Query erst nach der Abfrage mit mysql_num_rows() durchgeführt wird.
Andersherum muss es natürlich sein.
Grüße
Tom
Hallo,
$strQuery .= "WHERE email = '$email-adresse' ";
^Diese Variable wird nicht geparsed, weil sie in einfachen Quotes steht.Das sehe ich anders. Der zugewiesene String beginnt mit doppelten Anführungszeichen. Daher werden auch bei der Zuweisung alle Variablen ersetzt, die drinstehen. Die einfachen Anführungszeichen ändern daran nichts mehr. Sie werden mit ausgegeben.
Das kann sein. Ich habe noch _nie_ eine Zeile PHP-Code geschrieben, habe auch keine Möglichkeit das zu testen. Ich _kann_ aber Manuals lesen ;-)). Mir war daraus, und aus Erfahrungen mit Textverkettung in anderen Programmiersprachen, die Schreibweise
$strQuery .= "WHERE email = '".$email-adresse."' ";
einleuchtender.
Ich würde den Fehler darin sehen, dass das Query erst nach der Abfrage mit mysql_num_rows() durchgeführt wird.
Andersherum muss es natürlich sein.
Den Hauptfehler würde ich in der falschen Schreibweise von
$dbRS = MySQLQuery($strQuery);
sehen. Oder gibt es da einen automatischen Alias auf
resource mysql_query ( string Anfrage [, resource Verbindungs-Kennung])
viele Grüße
Axel
Hello,
Ich würde den Fehler darin sehen, dass das Query erst nach der Abfrage mit mysql_num_rows() durchgeführt wird.
Andersherum muss es natürlich sein.
Den Hauptfehler würde ich in der falschen Schreibweise von
$dbRS = MySQLQuery($strQuery);
sehen. Oder gibt es da einen automatischen Alias auf
resource mysql_query ( string Anfrage [, resource Verbindungs-Kennung])
Sixte woll, habe ich auch übersehen. Groß-Kleinschreibung ist bei Funktionsnamen (default) egal. Aber den Unterstrich darf man da natürlich nicht verbummeln.
Grüße
Tom