PHP stringvariable 'refreshen'?
Umlüx 08.06.2017 - 13:41 1663 9
Umlüx
Huge Metal Fan
|
bah wie erklär ich das nun am besten... ich merks immer öfter. da ich nie wirklich coden gelernt hab sondern mir alles selber beigebracht habe, fehlen mir oft die richtigen begriffe für diverse vorgänge. dann tut man sich auch mit googlen schwer..
beispiel: ich hab eine php variable $query="select * from $table"; nun wird $table aber erst später befüllt! wie 'refreshe' ich $query nun mit dem aktuellen wert? geht sowas überhaupt? meine erste idee war einen platzhalterstring zu verwenden, den ich dann später ersetz (str_replace?) und damit die letztendliche variable baue. aber geht das einfacher?
|
UnleashThebeast
Mr. Midlife-Crisis
|
Die Variable muss zu dem Zeitpunkt wo du sie verwendst auch befüllt sein. Sonst ist dein Code ja $query="select * from ";
|
ill
...
|
Du willst also, dass bei jeglicher Änderung von $table sich auch direkt die $query - variable ändert? Das hinzukriegen würde das ganze wohl unnötig verkomplizieren, persönlich würd ich das ganze einfach über eine Funktion bzw. eine statische Helper-Methode machen: public static function buildQueryString(string $table) : string {
return 'select * from ' . $table;
}
Die rufst du dann einfach immer auf, wenn sich $table ändert bzw. wenn du eine $query - variable benötigst.
|
XeroXs
doh
|
Umlüx.. ist das nur ein Beispiel oder verwendet du das wirklich so ähnlich?
Ich frag so seltsam weil ich mir wirklich schwer tue einen Fall zu konstruieren bei dem der Table nicht eh fix ist - ohne dass der ganze Programmieransatz ziemlich verkehrt ist.
Zu deiner Lösung:
$query = "select * from ";
und beim execute machst dann mysql_query($query . $table);
|
Obermotz
Fünfzylindernazi
|
PHP: Prepared Statements und Stored Procedures - Manual Link: secure.php.net Egal was du vorhattest, benuetz am besten prepared statements dafuer. Da sparst du dir SQL injection routinen und es ist nachher sogar ganz huebsch und lesbar.
|
XeroXs
doh
|
*upvote Obermotz's posting*
|
Umlüx
Huge Metal Fan
|
das sql war jetzt nur ein flottes beispiel. aber danke für eure denkansätze!
|
kleinerChemiker
Here to stay
|
Warum überhaupt refreshen? Einfach die kurze Zeile kopieren und die die Variable neu zuweisen.
|
Umlüx
Huge Metal Fan
|
ja genau das wollt ich damit verhindern. für sql kann ich die oben beschriebenen prepared statements benutzen.
für den rest muss ich mir was anderes überlegen. anderes beispiel dazu wäre eine lokalisation wo du die strings aus einer externen include einliest und diese dann zur laufzeit z.b. mit username und datum vervollständigen willst oder ähnliches.
|
kleinerChemiker
Here to stay
|
Das wird dann oft mit sprintf gemacht.
|