Zunächst bin ich neu im Framework. Überprüfen Sie die Abfrage, die ich versuche, mit dem CI-Datenbankobjekt zu transkribieren.CodeIgniter - Binden einer EXIST-Unterabfrage
$where = "(".$this->tbl.".invoiceNumber = '".substr($searchFor,3)."'
OR EXISTS (SELECT 1 FROM op_orders_products WHERE idProduct = ".(is_numeric(substr($searchFor,3)) ? substr($searchFor,3) : '-1')."
AND idOrder = ".$this->tbl.".id)
)";
Sollte ich eine separate Unterabfrage machen? Möchte alles in einem machen.
So habe ich angefangen. Ich möchte sicherstellen, dass die Variablen binded und nicht als Zeichenfolgen wie in der ursprünglichen Abfrage übergeben werden.
$this->db->group_start()
->where($this->tbl.".invoiceNumber", substr($searchFor, 3))
->or_group_start()
// I'm missing this EXISTS select subquery
->group_end()
->group_end()
Vielen Dank für die Hilfe.
Hallo Vickel, aus Sicherheitsgründen möchte ich meine Variablen in der $ Where-Klausel binden. – cabesd
siehe https://www.codeigniter.com/userguide3/database/queries.html#query-bindings – Vickel