1Danke
ERLEDIGT
JA
JA
ANTWORTEN
5
5
ZUGRIFFE
232
232
EMPFEHLEN
-
Hallo wieder mal!
Hab ein SQL-Statement mit einer PHP-Variablen in ein Datenbankfeld geschrieben, in etwa so:
Datenbank: database
Tabelle: table
Feld: sql (TEXT)
SELECT * FROM `other_table` WHERE `value`='".$wert."'
Hab einfach angenommen, wenn ich dieses Feld mittels PHP auslesen, als query-string verwende und $wert einen plausieblen Wert gebe, wird dieser Wert erstens eingesetzt und zweitens die Query richtig ausgeführt:
mysql_db_query($database,$sql);
Wenn ich mir nun aber $sql ausgeben lasse, so bekomme ich das sql-statement mit '".$wert."' ausgegeben => $wert wird nie befüllt sondern als String erkannt.gibt es hierfür eine Lösung? Weiß auch nicht so recht, wie ich bei Dr. Google suchen soll...
Danke für eure Antworten
-
27.05.10 10:42 #2
- Registriert seit
- Jun 2007
- Ort
- Passau (Niederbayern)
- Beiträge
- 1.394
Hallo,
ohne Codeausschnitt der entsprechenden Stelle kann ich nur raten.
Ich denke mal, du baust den String mit einfachen Anführungszeichen und hast das $wert direkt drin stehen.
Somit werden Variablen nicht ersetzt. Falls ich richtig liege, dann ziehe mal die Variable aus dem String raus, wie folgt:
Falls du das schon machst, und es trotzdem falsch geschrieben wird, dann lass dir mal mit Syntax-Highlightning anzeigen, ob deine Anführungszeichen korrekt interpretiert werden.PHP-Code:$wert = 'SELECT ......' . $wert . 'bla bla bla';
Gruß
BKÜber eine gute Bewertung freut sich jeder ;)
Bitte erledigte Threads als "Erledigt" markieren.
"Though a program be but three lines long, someday it will have to be maintained.''
-- Geoffrey James, "The Tao of Programming"
-
Danke für deine Antwort!
Im Source funktionieren meine Statements mit Variablen - mein Problem ist, dass ich ein Statement (mit PHP-Variable) in der Datenbank gespeichert habe und mittels php auslesen und die Variable als Variable und nicht als String verwenden möchte: aus $wert (in DB) soll zB 6 (in php) werden und nicht $wert bleiben.
Lese einfach das Feld "sql" aus und speichere diesen Wert in die Variable $sql.
dies wiederum verwende ich folgendermaßen:
Leider bekomme ich hier nie ein Ergebnis, da in $sql nicht '6' steht sondern $wert.PHP-Code:mysql_query($sql);
etwas klarer?
-
du suchst eval()
Hier ien Beispiel:
Ein weiteres Beispiel findest du unter http://ch.php.net/manual/de/function.eval.phpPHP-Code:<?php
$string = 'Wert: $value';
var_dump($string);
$value = 6;
$parsedString = eval("return \"{$string}\";");
var_dump($parsedString);
?>---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
-
27.05.10 11:15 #5
- Registriert seit
- Jun 2007
- Ort
- Passau (Niederbayern)
- Beiträge
- 1.394
Hallo,
du könntest es auch so machen:
Siehe auch str_replace()PHP-Code:$sql = str_replace('$wert', $wert, $sql);
Gruß
BKÜber eine gute Bewertung freut sich jeder ;)
Bitte erledigte Threads als "Erledigt" markieren.
"Though a program be but three lines long, someday it will have to be maintained.''
-- Geoffrey James, "The Tao of Programming"
-
@yaslaw - wieder mal die richtige Lösung parat, Danke!
@Bratkartoffel - Danke auch dir!
Ähnliche Themen
-
Warning: mysql_query() [function.mysql-query]: Can't connect to local MySQL server...
Von Lumakrieger im Forum PHPAntworten: 6Letzter Beitrag: 07.08.09, 22:12 -
MySQL Query: Warning: mysql_fetch_row():supplied resource is not a valid MySQL result
Von blck im Forum Relationale DatenbanksystemeAntworten: 3Letzter Beitrag: 29.11.08, 20:08 -
MySQL: ERROR 2013 (HY000): Lost connection to MySQL server during query
Von blumshuett im Forum Relationale DatenbanksystemeAntworten: 2Letzter Beitrag: 07.06.06, 23:23 -
mysql: mysql-server: mysql.sock fehlt (Suse 9.1)
Von zappoth im Forum Relationale DatenbanksystemeAntworten: 2Letzter Beitrag: 08.05.06, 18:06 -
Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
Von strandjunge im Forum Relationale DatenbanksystemeAntworten: 0Letzter Beitrag: 19.01.05, 15:33





Zitieren


Login






[PHP][Snippet] Array zu XML konvertieren