Wie zum verwalten von leer, IN sql-Abfrage?

$ids = array(1,2,3);
$in = implode(',',$ids);

$query = "SELECT * FROM user where user_id IN ($in) ";

Abfrage funktioniert, kein problem. Aber wenn $ids ist leeres array $ids = array();

Bekam ich die sql-Abfrage Fehler Recht so, weil SELECT * FROM user where user_id IN () ist keine gültige Abfrage .

Wie kann ich vermeiden, eine solche situation ohne prüfen auf leeres array, ich.e Abfrage ausführen, egal was ist ?

  • Warum nicht einfach überprüfen, für leeres array? MySQL nur erwartet einige Parameter nach, so dass ich denke, es gibt keine Möglichkeit
  • Ich hoffe $ids sind für den Benutzer nicht zur Verfügung gestellt, und wenn Sie entkommen Sie richtig, bevor Sie Sie in Ihre Abfrage.
  • Ich habe eine situation, wo ich nicht check for empty array . Ich musste Abfrage ohne Fehler ausgeführt . Alles was ich tun kann, ist die Veränderung der input-parameter . Abfrage ausgeführt, Ergebnis zurückgeben null ist ok für mich .
InformationsquelleAutor Mr Coder | 2012-05-07
Schreibe einen Kommentar