Să presupunem că o frază MySQL utilizată într-un fişier PHP este prea lungă (ca în exemplul de mai jos):
1 |
$filtru = "SELECT camp1, camp2, camp3, camp4, camp5 FROM tabel WHERE camp3=10 ORDER BY camp1 "; |
Dacă se doreşte ca să fie scrisă pe mai multe rânduri se pot folosi mai multe metode:
Varianta 1
Este cea mai simplă şi practică, implicând, pur şi simplu ruperea rândurilor, dar în interiorul ghilimelelor / apostroafelor.
1 2 3 4 5 6 |
$filtru = " SELECT camp1, camp2, camp3, camp4, camp5 FROM tabel WHERE camp3=10 ORDER BY camp1 "; |
Varianta 2
Se poate folosi, la sfârşitul unui rând, se încheie cu backslash (\
) şi litera (n
), încheindu-se respectivul rând cu ghilimea ("
): \n"
Noul rând se începe cu punct (.
) urmat de ghilimea ("
): . "
1 2 3 4 |
$filtru = "SELECT camp1, camp2, camp3, camp4, camp5 \n" . " FROM tabel \n" . " WHERE camp3=10 \n" . " ORDER BY camp1 "; |
Punctul poate fi plasat la finalul liniei, dar asta ţine de o estetică a programării.
Varianta 3
Mai simplă, parcă, decât varianta anterioară, se începe fiecare rând cu numele variabilei şi se concatenează tot prin punct.
1 2 3 4 |
$filtru = "SELECT camp1, camp2, camp3, camp4, camp5"; $filtru .= " FROM tabel"; $filtru .= " WHERE camp3=10 "; $filtru .= " ORDER BY camp1 "; |
\n"
este spaţiu; practic, trebuie să ne imaginăm că, dacă refacem linia, vom avea sau nu expresii lipite şi, dacă este în regulă. Sau, la fel de bine, este recomandabil, acolo unde se începe rândul cu ghilimea, să fie un spaţiu pentru a nu interpreta MySQL-ul ca o concatenare de termeni ceea ce ar da eroare (de ex. în loc de rând încheiat cu „tabel” şi următorul care începe cu „WHERE”, să nu înţeleagă MySQL ce înseamnă „tabelWHERE”.