| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |

14-10-2009, 20:36
|
|
Helix
Registrierter Benutzer
|
|
Registriert seit: Oct 2009
Beiträge: 5
|
|
Variable wird nicht akzeptiert
Hallo Usergemeinde!
Ich habe wieder ein Problem!
Zitat:
|
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in Bla/bla/bla
|
Nun hier ist der text:
PHP-Code:
$pquery = mysql_query ("SELECT user_show_post
FROM c_user
WHERE user_name='" . mysql_real_escape_string($user) . "'");
while (list ($user_show_post) = mysql_fetch_row($pquery)) {
echo $user_show_post; //Ist nur drim um zu gucken ob auch was gefunden wird...
}
$query = mysql_query ("SELECT *
FROM c_msg
ORDER BY msg_id DESC
LIMIT " . mysql_real_escape_string($user_show_post) . "");
while (list ($msg_id, $msg_poster, $msg_text, $msg_date) = mysql_fetch_row ($query)) {
TU_WAS!
}
Wenn ich bei LIMIT eine Zahl eingebe ( also 5 oder so) Dann läuft alles einwandfrei. Doch sobald ich den das mit dem "mysql_real_escape_string($blup)" rein mache geht es nicht mehr. Warum nicht?
P.s.: Bin ich im richtigen Forum?
Geändert von Helix (14-10-2009 um 20:48 Uhr)
Grund: frage
|

14-10-2009, 21:00
|
|
h3ll
Registrierter Benutzer
|
|
Registriert seit: Mar 2008
Beiträge: 2.328
|
|
|

14-10-2009, 21:27
|
|
Helix
Registrierter Benutzer
|
|
Registriert seit: Oct 2009
Beiträge: 5
|
|
Das hilft mir leider nicht weiter
Kann es sein das die Variable $user_show_post nur innerhalb der while-schleife gilt?
|

14-10-2009, 21:29
|
|
h3ll
Registrierter Benutzer
|
|
Registriert seit: Mar 2008
Beiträge: 2.328
|
|
PHP-Code:
$sql = " SELECT user_show_post FROM c_user WHERE user_name = '" . mysql_real_escape_string($user) . "' LIMIT 1 ";
$result = mysql_query($sql);
if ($row = mysql_fetch_assoc($result)) { $sql = " SELECT msg_id FROM c_msg ORDER BY msg_id DESC LIMIT " . (int)$row['user_show_post'] . " "; $result = mysql_query($sql); while ($row = mysql_fetch_assoc($result)) { // Daten verarbeiten } } else { echo "User nicht gefunden."; }
Du solltest übrigens kein SELECT * verwenden, sondern genau die Spalten selektieren, die du haben willst.
Geändert von h3ll (14-10-2009 um 21:37 Uhr)
|

14-10-2009, 21:31
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.188
|
|
Zitat:
|
Das hilft mir leider nicht weiter
|
Das sollte dir aber weiterhelfen. Zur Not schau auch noch mal in die Regeln, da wird erläutert, wie du mysql_error einzusetzen hast.
Zitat:
|
Kann es sein das die Variable $user_show_post nur innerhalb der while-schleife gilt?
|
Prinzipiell: Nein!
Geändert von TobiaZ (14-10-2009 um 21:33 Uhr)
|

14-10-2009, 21:34
|
Kropff
  Administrator
|
|
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.309
|
|
Zitat:
Zitat von TobiaZ
Zur Not schau auch noch mal in die Regeln
|
Oder hier. Da gibt es auch noch ein paar Tipps zum Debuggen.
Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
|

14-10-2009, 21:40
|
|
Helix
Registrierter Benutzer
|
|
Registriert seit: Oct 2009
Beiträge: 5
|
|
Zitat:
Zitat von TobiaZ
Das sollte dir aber weiterhelfen. Zur Not schau auch noch mal in die Regeln, da wird erläutert, wie du mysql_error einzusetzen hast.
Prinzipiell: Nein!
|
Ich habe beide angaben benutzt (mysql_error) schon vorher und bin nicht schlauer geworden.
Aus den Regeln bin ich auch nicht schlau geworden. Gegooglet habe ich auch schon ne weile.
@h3ll:
Ich wollte durch die erste query bestimmen wie der LIMIT wert in der 2ten zu bestimmen.
Zitat:
Zitat von h3ll
Du solltest übrigens kein SELECT * verwenden, sondern genau die Spalten selektieren, die du haben willst.
|
Mach ich auch nie. Doch in meinem Fall brauche ich alles. Dennoch danke für die Tipps.
Achja: Es funtioniert jetzt. Ich muss nurnoch ein paar dinge ändern und den Text verstehen... THX!
Geändert von Helix (14-10-2009 um 21:47 Uhr)
|

14-10-2009, 21:44
|
Kropff
  Administrator
|
|
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.309
|
|
Zitat:
Zitat von Helix
Aus den Regeln bin ich auch nicht schlau geworden.
|
Das sind aber Grundlagen.
Zitat:
Zitat von Helix
@h3ll:
Ich wollte durch die erste query bestimmen wie der LIMIT wert in der 2ten zu bestimmen.
|
Schon mal an Joins gedacht?
Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
|

14-10-2009, 21:45
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Hallo,
bau doch mal vor der zweiten Abfrage ein var_dump($user_show_post) ein und sieh dir die Ausgabe davon unmittelbar vor der Fahlermeldung an.
Gruß,
Amica
|

14-10-2009, 21:52
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.188
|
|
Zitat:
|
Ich habe beide angaben benutzt (mysql_error) schon vorher und bin nicht schlauer geworden.
|
Warum zeigst du uns das nicht in deinem Code?
Zudem hätte uns die Ausgabe hier interessiert. Vielleicht werden wir daraus schlau und können dir den entscheidenden Tipp geben.
|

14-10-2009, 21:57
|
|
Yoshi-
Registrierter Benutzer
|
|
Registriert seit: Oct 2009
Beiträge: 13
|
|
Hallo,
das Problem hier ist das eine Variable, welche in der Bedingung einer Schleife mit list erstellt wird nur während der Schleife existiert.
So sollte es gehen:
PHP-Code:
while ($ds = mysql_fetch_row($pquery)) { $user_show_post=$ds[0]; }
Den Fehler hätte man auch durch ein richtiges error_reporting finden können.
|

14-10-2009, 22:08
|
|
h3ll
Registrierter Benutzer
|
|
Registriert seit: Mar 2008
Beiträge: 2.328
|
|
Eine while-Schleife ist hier überhaupt komplett unpassend. Schließlich will man ja nur einen einzigen Wert und nicht mehrere.
|

14-10-2009, 22:15
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.188
|
|
Kropff hatte ja bereits das Thema Joins ins Spiel gebracht.
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|