Sql Dynamisch aufbauen, aber sicher

Wenns interessiert:

Ich habe die Lösung mit Hilfe von Styx:

<?php / ********************** dynamisch */
echo " Anzahl Quartale:".count($quartal\_array)." "; echo "Anzahl jahre:".count($jahreanzahl\_array)." "; $statischer\_part = "select beitraege.\* from beitraege where "; foreach ($quartal\_array as &$value) { $value = mysql\_real\_escape\_string($value); } foreach ($jahreanzahl\_array as &$value) { $value = mysql\_real\_escape\_string($value); } $sqlqu="quarter(beitraege.datum) in (".substr(str\_repeat("%s,",count($quartal\_array)),0,-1).")"; $sqlyr=" AND year(beitraege.datum) in (".substr(str\_repeat("%s,",count($jahreanzahl\_array)),0,-1).")"; echo "Dynamisch "; echo "Quartal Teil 1: ".$sqlqu; echo " Jahr Teil 1: ".$sqlyr; echo " TEst vsprintf\_array: ".vsprintf($sqlqu,$quartal\_array)." ".vsprintf($sqlyr,$jahreanzahl\_array); $sql=$statischer\_part.vsprintf($sqlqu,$quartal\_array).vsprintf($sqlyr,$jahreanzahl\_array); ?\> Danke nochmals für Deine Hilfe! So gehts wesentlich kürzer, dynmaisch und sicher!.

Wenns interessiert:

Ich habe die Lösung mit Hilfe von Styx:

<?php / ********************** dynamisch */
echo " Anzahl Quartale:".count($quartal\_array)." "; echo "Anzahl jahre:".count($jahreanzahl\_array)." "; $statischer\_part = "select beitraege.\* from beitraege where "; foreach ($quartal\_array as &$value) { $value = mysql\_real\_escape\_string($value); } foreach ($jahreanzahl\_array as &$value) { $value = mysql\_real\_escape\_string($value); } $sqlqu="quarter(beitraege.datum) in (".substr(str\_repeat("%s,",count($quartal\_array)),0,-1).")"; $sqlyr=" AND year(beitraege.datum) in (".substr(str\_repeat("%s,",count($jahreanzahl\_array)),0,-1).")"; echo "Dynamisch "; echo "Quartal Teil 1: ".$sqlqu; echo " Jahr Teil 1: ".$sqlyr; echo " TEst vsprintf\_array: ".vsprintf($sqlqu,$quartal\_array)." ".vsprintf($sqlyr,$jahreanzahl\_array); $sql=$statischer\_part.vsprintf($sqlqu,$quartal\_array).vsprintf($sqlyr,$jahreanzahl\_array); ?\> Danke nochmals für Deine Hilfe! So gehts wesentlich kürzer, dynmaisch und sicher!..

Hi Thomas,
Wenns interessiert:

Ich habe die Lösung mit Hilfe von Styx:

<?php / ********************** dynamisch */
echo " Anzahl Quartale:".count($quartal\_array)." "; echo "Anzahl jahre:".count($jahreanzahl\_array)." "; $statischer\_part = "select beitraege.\* from beitraege where "; foreach ($quartal\_array as &$value) { $value = mysql\_real\_escape\_string($value); } foreach ($jahreanzahl\_array as &$value) { $value = mysql\_real\_escape\_string($value); } $sqlqu="quarter(beitraege.datum) in (".substr(str\_repeat("%s,",count($quartal\_array)),0,-1).")"; $sqlyr=" AND year(beitraege.datum) in (".substr(str\_repeat("%s,",count($jahreanzahl\_array)),0,-1).")"; echo "Dynamisch "; echo "Quartal Teil 1: ".$sqlqu; echo " Jahr Teil 1: ".$sqlyr; echo " TEst vsprintf\_array: ".vsprintf($sqlqu,$quartal\_array)." ".vsprintf($sqlyr,$jahreanzahl\_array); $sql=$statischer\_part.vsprintf($sqlqu,$quartal\_array).vsprintf($sqlyr,$jahreanzahl\_array); ?\> Danke nochmals für Deine Hilfe! So gehts wesentlich kürzer, dynmaisch und sicher!

na geht doch. freut mich wenn es klappt.
und ich habe auch was gelernt. das mit dem quarter kannte ich noch nicht. brauch ich zwar im moment nicht, aber wer weiß.
dann bis zum nächsten mal.

hi,

sorry kann dir im moment leider nicht weiterhelfen.

cu
harald
**************************