2016-07-18 6 views
3

In meinem Controller habe ich:Pass SQL als String an die Steuerung in codeigniter

$query = $this->db->query("select * from table"); 

ich myquery.sql eine Datei haben wollen, in dem die einzigen Inhalt dieser Datei sind:

select * from table 

Und so ich kann so etwas wie tun:

$query = $this->db->query(myquery.sql); 

Was ist die richtige Syntax, dies zu tun?

+0

Warum, die Abfrage, die ich benutze, ist 700 Zeilen und ich wollte nicht, dass es meine sonst prägnanten Controller schwierig zu navigieren durch. Ich wollte eine gespeicherte Prozedur verwenden, konnte sie aber nicht zum Laufen bringen und irgendwo lesen, dass gespeicherte Prozeduren mit Code Igniter nicht gut spielen, aber vielleicht werde ich es eines Tages noch einmal versuchen. – David

Antwort

2

sollten Sie in der Lage sein, zu erreichen, dass die Verwendung von:

$query = $this->db->query(file_get_contents('myquery.sql')); 

mehr lesen über file_get_contents.


Sie könnten den richtigen Pfad zu myquery.sql verwenden müssen, aber das ist die Grundidee.

+0

Danke Jungs, das hat es zur Arbeit gebracht. Es erforderte buchstäblich den vollen Pfad bis hinunter zum Laufwerksbuchstaben, was aber nervig ist ... Warum kann ich nicht einfach den Dateinamen verwenden, wie ich es mit einer include-Anweisung tun kann? – David

+0

@DavidBrooks TBH, ich weiß nicht, wie ich dieses Pfadproblem beantworten soll. Vielleicht bringt der Codezeichner die Dinge durcheinander, aber ich weiß es wirklich nicht. – FirstOne

Verwandte Themen