Die Verwendung von Kommas in einem CONCAT php mysql update
Ich habe zum ausführen einer Abfrage ähnlich der folgenden:
<?php
//....connect to database
$old = "a,b,c,d";
$new = "e,f,g,h";
$insert = "UPDATE TABLE SET FIELD = CONCAT(" . $old . ", " . $new . ") WHERE something = 'something';
mysql_query($insert);
?>
Also im Grunde, möchte ich die Bibliothek der aktuellen Datenbank-Eintrag mit den "neuen" string enthält Kommas. Aber da die CONCAT-Funktionen verwendet Kommas, ich habe Probleme..
Jemand irgendwelche Tipps um dies zu erreichen?
Vielen Dank an alle!
Welche Art von Schwierigkeiten?
InformationsquelleAutor d-_-b | 2012-03-31
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ändern Sie diese Zeile
zu diesem
Edit:
Und wenn Sie wollen, ein Komma zwischen die
$old
und$new
Sie Zeichenfolgen verketten, verwenden Sie CONCAT_WS (http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_concat-ws)Etwa so:
Sie verpasste die quote auch
Richtig. Da Sie initialisieren Ihre
$insert
Variablen mit doppelten Anführungszeichen ist, wird die variable expansion auf alle Variablen wie$old
und$new
und jede einzelne Zitate werden wörtlich interpretiert werden als gut.Ich weiß, haha...ich wurde gefragt, ob in anderen Beispielen ohne Kommas in meiner Variablen zu, ist es unnötig zu brechen, es mit $variable = "Funktion(" . $etwas . ")"; oder wie "kjansen" gesendet, sagte einfach: $variable = "function($something)"; Obwohl es hängt wahrscheinlich davon ab, welche Funktion ich bin mit...
Dank "kjansen" gesendet! Sie sind sehr hilfreich!!!
InformationsquelleAutor kjones
Verwenden Sie die Funktion mysql
CONCAT_WS()
-> Verketten Mit TrennzeichenInformationsquelleAutor Anand
Zeichenfolgen in SQL-Abfragen werden begrenzt durch Anführungszeichen.
gibt es auch keinen Punkt in brechen ein PHP-string, indem nur nutzlos Lärm.
Auch, ich rieche eine Falle für die Datenbank-Normalisierung
InformationsquelleAutor Your Common Sense
Müssen Sie Anführungszeichen um die Variablen, so dass Sie die Zeichenfolgen, wie diese (ich habe auch ein abschließendes doppeltes Anführungszeichen):
InformationsquelleAutor Waynn Lue