Was sind die Unterschiede zwischen " einfaches schließendes Anführungszeichen und Apostroph? Kann ich mit IF-Anweisung in einer Abfrage, wie oben?
In der codeigniter-Handbuch schreibt.
$this->db->wählen Sie() akzeptiert ein
der optionale zweite parameter. Wenn Sie
es FALSCH, CodeIgniter nicht versuchen
schützen Sie Ihr Feld-oder Tabellennamen
mit backticks. Dies ist nützlich, wenn Sie
brauchen Sie eine zusammengesetzte select-Anweisung.
$this->db->select('(SELECT SUM(payments.amount) FROM payments
WHERE payments.invoice_id=4) AS amount_paid', FALSE);
$query = $this->db->get('mytable');
...
Und ich habe den folgenden code aus ein CI-Anwendungen.
$this->db->select('slug, type,
IF(`value` = "", `default`, `value`) as `value`', FALSE);
Q1. Was sind die Unterschiede zwischen "einfaches schließendes Anführungszeichen" und Hochkomma '?
Q2. Kann ich mit IF-Anweisung in einer Abfrage wie oben?
Q3. Was bedeutet das?
IF(`value` = "", `default`, `value`) as `value`
- Die In Ihrer Frage 1 meinst du back-tick, statt backslash?
- einfaches schließendes Anführungszeichen " und Hochkomma '.
- Ha, dachte ich, ich erkannte diese Abfrage :-p
- Yeap Phil. Ich studiere den code. Deine neue version sieht Super,. Und ich will lernen, aus einer codeigniter-guru. haha.:-)
Du musst angemeldet sein, um einen Kommentar abzugeben.
In MySQL backticks Zitat Namen, während einzelne Zitate erstellen strings. Wenn Sie eine Spalte namens
select
, MySQL wirft einen syntax-Fehler bei der Verwendung dieses namens ohne backticks-wie inSELECT select FROM foo
-- als würde es so interpretieren Stichwort, die kann nicht auftreten, da.Diese, WENN Funktion kann verwendet werden, als eine Spaltenangabe in der SELECT-Anweisungen. Finden Sie die MySQL-Referenz.
Diese Funktion liefert den Wert aus der
default
Spalte, wennvalue
ist der leere string. Sonst gibt es den Wert ausvalue
selbst. Das Ergebnis wird genanntvalue
. Finden Sie die MySQL-Referenz für details.