2017-02-25 1 views
0

Ich versuche, eine Multiparam Abfrage Zeichenfolge zu erstellen, aber ich bekomme einen 500 Fehler, wenn ich versuche, dies in der Produktion auszuführen. Für mich ist es ziemlich schwierig zu wissen, wo man eine ' und eine " platzieren kann, aber ich bin mir sicher, je mehr ich PHP Code desto einfacher wird es werden.Build Multi-Param Query String

Unten ist meine Syntax - was sollte geändert werden, damit dies gültige Syntax wird? (Alle Variablen im Skript deklariert)

<td><a href="Test.php?emp='.$Row['Employee Name']. 
'"&hiredate=" . $hiredate 
'"&terminationdate=" . $termdate 
'">'.$Row['Number Of Abscences'].'</a></td> 
+0

nur einen Gedanken zu halten - aber versuchen Entfernen des einfachen Zitats vor "& mandate" und "& & enddatum" - kann das Problem nicht lösen, ist aber einen Versuch wert. – BellHopByDayAmetuerCoderByNigh

Antwort

0

Ich schlage vor, sprintf/vsprintf zu verwenden:

vsprintf('<td><a href="Test.php?emp=%s&hiredate=%s&terminationdate=%s">%s</a></td>',[$Row['Employee Name'],$hiredate,$termdate,$Row['Number Of Abscences']]) 

ist viel besser lesbar und easiet \

+0

Und dies ist ein Ausschnitt aus einem langen Abfrage-String, ich werde 'Vsprintf' mit der gesamten Abfrage-String verwenden. Danke, dass du mich darüber informiert hast. – IcyPopTarts

+0

Wenn Sie eine große Tabelle aussprechen möchten, ist Vsprintf nicht immer der einfachste/beste Weg, um zu gehen. IMHO – BellHopByDayAmetuerCoderByNigh

+1

Aber ist immer besser als Mischen von HTML + PHP im Quellcode :) Und wir reden jetzt über die Schaffung einfacher Link mit Anker. Wenn wir etwas Größeres (viel GRÖSSERES) haben, dann müssen wir uns an memory_limit erinnern, wenn wir uns um Millisekunden der Ausführungszeit kümmern müssen oder besorgt sind, dass wir die max. Skriptausführungszeit erreichen - wir können etwas schneller/effizienter suchen. Aber für den Moment? Es ist gut genug, imho :) – kisiel