SQL-ΠΈΠ½ΡΠ΅ΠΊΡΠΈΠΈ
SQL-ΠΈΠ½ΡΠ΅ΠΊΡΠΈΡ β ΡΠ΅Ρ
Π½ΠΈΠΊΠ°, ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΉ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊ ΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠ°ΠΌΠΈ Π² ΠΊΠΎΠ΄Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ,
ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π·Π° ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ
SQL-Π·Π°ΠΏΡΠΎΡΠΎΠ².
ΠΠ»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΡΠ°Π·Π΄Π΅Π»Π°ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ,
ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈΠ· Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
, ΠΏΠΎΠ΄ΠΌΠ΅Π½ΡΠ΅Ρ Π΄Π°Π½Π½ΡΠ΅
ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΎΠΏΠ°ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ Π½Π° ΡΠ·Π»Π΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
.
Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ, ΠΊΠΎΠ³Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΊΠΎΠ½ΠΊΠ°ΡΠ΅Π½ΠΈΡΡΡΡ ΠΈΠ»ΠΈ ΠΈΠ½ΡΠ΅ΡΠΏΠΎΠ»ΠΈΡΡΡΡ
ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠ΅ Π²Ρ
ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π² SQL-Π·Π°ΠΏΡΠΎΡΠ°Ρ
.
ΠΡΠΈΠΌΠ΅Ρ #1
ΠΠΎΡΡΡΠ°Π½ΠΈΡΠ½ΡΠΉ Π²ΡΠ²ΠΎΠ΄ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° ΠΈβ¦ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΡΠΏΠ΅ΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π² Π‘Π£ΠΠ PostgreSQL
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ Π²Π²ΠΎΠ΄ ΠΈΠ½ΡΠ΅ΡΠΏΠΎΠ»ΠΈΡΡΠ΅ΡΡΡ Π² SQL-Π·Π°ΠΏΡΠΎΡ,
ΡΡΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΡΡΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΡ ΡΡΠΏΠ΅ΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ
.
<?php
$offset = $_GET['offset']; // ΠΡΡΠΎΡΠΎΠΆΠ½ΠΎ, Π½Π΅Ρ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΠΈ Π²Π²ΠΎΠ΄Π°!
$query = "SELECT id, name FROM products ORDER BY name LIMIT 20 OFFSET $offset;";
$result = pg_query($conn, $query);
?>
Π ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΌ ΡΡΠ΅Π½Π°ΡΠΈΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Π½Π°ΠΆΠΈΠΌΠ°ΡΡ Π½Π° ΡΡΡΠ»ΠΊΠΈ Β«ΠΠΏΠ΅ΡΡΠ΄Β» ΠΈ Β«ΠΠ°Π·Π°Π΄Β»,
Π²
URL-Π°Π΄ΡΠ΅ΡΠ°Ρ
ΠΊΠΎΡΠΎΡΡΡ
Π·Π°ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΎ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅,
Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ
$offset.
Π‘ΠΊΡΠΈΠΏΡ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ, ΡΡΠΎ Π²Ρ
ΠΎΠ΄ΡΡΠ΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ
$offset β ΡΠΈΡΠ»ΠΎ.
ΠΠ΄Π½Π°ΠΊΠΎ, ΡΡΠΎ Π΅ΡΠ»ΠΈ Π²Π·Π»ΠΎΠΌΡΠΈΠΊ Π²ΡΠΏΠΎΠ»Π½ΠΈΡ ΠΏΠΎΠΏΡΡΠΊΡ Π²Π·Π»ΠΎΠΌΠ°ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ
ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ ΠΊ
URL-Π°Π΄ΡΠ΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅:
ΠΡΠ»ΠΈ Π±Ρ ΡΡΠΎ ΡΠ»ΡΡΠΈΠ»ΠΎΡΡ, ΡΠΊΡΠΈΠΏΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΠ» Π±Ρ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊΡ Π΄ΠΎΡΡΡΠΏ ΡΡΠΏΠ΅ΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
0; Π·Π°ΠΏΠΈΡΠ°Π»ΠΈ,
ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ°
ΠΈ Π·Π°Π²Π΅ΡΡΠΈΡΡ Π·Π°ΠΏΡΠΎΡ.
ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΠ΅:
Π Π°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ½Π½ΡΠΉ ΠΏΡΠΈΡΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΡΡΠ°Π²Π»ΡΠ΅Ρ SQL-ΠΏΠ°ΡΡΠ΅Ρ
ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ ΡΠ°ΡΡΡ Π·Π°ΠΏΡΠΎΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°, β
ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² --, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΠ³ΡΠ°Π΅Ρ Π² SQL ΡΠΎΠ»Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π².
ΠΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠΏΠΎΡΠΎΠ± ΡΠ°ΡΠΊΡΡΡΡ ΠΏΠ°ΡΠΎΠ»ΠΈ ΡΡΡΡΠ½ΡΡ
Π·Π°ΠΏΠΈΡΠ΅ΠΉ Π² ΠΠ β Π°ΡΠ°ΠΊΠΎΠ²Π°ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ
Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°ΠΌΠΈ ΠΏΠΎΠΈΡΠΊΠ°. ΠΠ»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊΡ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ,
Π΅ΡΡΡ Π»ΠΈ Π² Π·Π°ΠΏΡΠΎΡΠ΅ ΠΊ ΡΠ΅ΡΠ²Π΅ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΏΠ°Π΄ΡΡ Π² SQL-Π·Π°ΠΏΡΠΎΡ ΠΈ ΠΊΠΎΡΠΎΡΡΠ΅
Π½Π΅ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ. ΠΡΠΈ ΡΠΈΠ»ΡΡΡΡ ΠΎΠ±ΡΡΠ½ΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π² ΡΠΎΡΠΌΠ΅ ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠΈΡΠΊΠ°,
ΡΡΠΎΠ±Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠΉ WHERE, ORDER BY, LIMIT ΠΈ OFFSET
Π² Π·Π°ΠΏΡΠΎΡΠ΅ SELECT.
ΠΡΠ»ΠΈ Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ
ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ UNION, Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅Ρ
Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΊ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΠΎΠΌΡ Π·Π°ΠΏΡΠΎΡΡ Π΅ΡΡ ΠΎΠ΄ΠΈΠ½, ΡΡΠΎΠ±Ρ Π²ΡΠ²Π΅ΡΡΠΈ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠ°ΡΠΎΠ»Π΅ΠΉ ΠΈΠ· ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΡ.
ΠΠ°ΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ Ρ
ΡΠ°Π½ΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π·Π°ΡΠΈΡΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΠ°ΡΠΎΠ»ΠΈ.
ΠΡΠΈΠΌΠ΅Ρ #2
ΠΡΠ²ΠΎΠ΄ ΡΠΏΠΈΡΠΊΠ° ΡΡΠ°ΡΠ΅ΠΉβ¦ ΠΈ ΡΡΠ΄Π° ΠΏΠ°ΡΠΎΠ»Π΅ΠΉ (Π»ΡΠ±ΠΎΠΉ ΡΠ΅ΡΠ²Π΅Ρ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
)
<?php
$query = "SELECT id, name, inserted, size FROM products
WHERE size = '$size'";
$result = odbc_exec($conn, $query);
?>
Π‘ΡΠ°ΡΠΈΡΠ΅ΡΠΊΡΡ ΡΠ°ΡΡΡ Π·Π°ΠΏΡΠΎΡΠ° ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΡΡΡ Ρ Π΄ΡΡΠ³ΠΈΠΌ
SELECT-Π·Π°ΠΏΡΠΎΡΠΎΠΌ,
ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°ΡΠΊΡΠΎΠ΅Ρ Π²ΡΠ΅ ΠΏΠ°ΡΠΎΠ»ΠΈ:
ΠΠ½ΡΡΡΡΠΊΡΠΈΠΈ UPDATE ΠΈ INSERT ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π²Π΅ΡΠΆΠ΅Π½Ρ ΡΠ°ΠΊΠΈΠΌ Π°ΡΠ°ΠΊΠ°ΠΌ.
ΠΡΠΈΠΌΠ΅Ρ #3
ΠΡ ΡΠ±ΡΠΎΡΠ° ΠΏΠ°ΡΠΎΠ»Ρ Π΄ΠΎβ¦ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ
ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ (Π»ΡΠ±ΠΎΠΉ ΡΠ΅ΡΠ²Π΅Ρ Π±Π°Π· Π΄Π°Π½Π½ΡΡ
)
<?php
$query = "UPDATE usertable SET pwd='$pwd' WHERE uid='$uid';";
?>
ΠΡΠ»ΠΈ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
' or uid like'%admin%' Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ
$uid,
ΡΡΠΎΠ±Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΏΠ°ΡΠΎΠ»Ρ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ°, ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ
$pwd
Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
hehehe', trusted=100, admin='yes,
ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ, ΡΠΎΠ³Π΄Π° Π·Π°ΠΏΡΠΎΡΡ ΠΏΠ΅ΡΠ΅ΠΏΠ»Π΅ΡΠ°ΡΡΡΡ:
Π₯ΠΎΡΡ ΠΎΡΡΠ°ΡΡΡΡ ΡΡΠ½ΡΠΌ, ΡΡΠΎ Π΄Π»Ρ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΉ Π°ΡΠ°ΠΊΠΈ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊΡ Π½ΡΠΆΠ½Ρ
Ρ
ΠΎΡΡ Π±Ρ ΡΠ°ΡΡΠΈΡΠ½ΡΠ΅ Π·Π½Π°Π½ΠΈΡ ΠΎΠ± Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
, ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΡΠ°ΡΡΠΎ ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π»Π΅Π³ΠΊΠΎ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ³Π΄Π° ΠΊΠΎΠ΄ β ΡΠ°ΡΡΡ ΠΎΡΠΊΡΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΈ Π»Π΅ΠΆΠΈΡ Π² ΠΎΡΠΊΡΡΡΠΎΠΌ Π΄ΠΎΡΡΡΠΏΠ΅.
ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΡΠ°ΠΊΠΆΠ΅ ΡΠ°ΡΠΊΡΡΠ²Π°Π΅ΡΡΡ ΠΈ Π·Π°ΠΊΡΡΡΡΠΌ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΊΠΎΠ΄ Π·Π°ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π»ΠΈ,
ΠΎΠ±ΡΡΡΡΠΈΡΠΎΠ²Π°Π»ΠΈ ΠΈΠ»ΠΈ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π»ΠΈ, ΠΈ Π΄Π°ΠΆΠ΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΡΠ΅ΡΠ΅Π· ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ°Ρ
.
ΠΡΡΠ³ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΡ ΡΠΈΠΏΠΈΡΠ½ΡΡ
ΠΈΠΌΡΠ½ ΡΠ°Π±Π»ΠΈΡ ΠΈ ΡΡΠΎΠ»Π±ΡΠΎΠ²: ΡΠΎΡΠΌΠ° Π²Ρ
ΠΎΠ΄Π° Π² ΡΠΈΡΡΠ΅ΠΌΡ,
ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ°Π±Π»ΠΈΡΡ users Ρ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΡΡΠΎΠ»Π±ΡΠΎΠ² id, username ΠΈ password.
ΠΡΠΈΠΌΠ΅Ρ #4 ΠΡΠ°ΠΊΠ° Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ΅ΡΠ²Π΅ΡΠ° Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
(MSSQL Server)
Π‘ΡΡΠ°ΡΠ½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ ΡΡΠΎΠ²Π½Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ
Π½Π° ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ
Ρ
ΠΎΡΡΠ°Ρ
Π±Π°Π· Π΄Π°Π½Π½ΡΡ
.
<?php
$query = "SELECT * FROM products WHERE id LIKE '%$prod%'";
$result = mssql_query($query);
?>
ΠΡΠ»ΠΈ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊ ΠΎΡΠΏΡΠ°Π²ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
a%' exec master..xp_cmdshell 'net user test testpass /ADD' --
Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ
$prod, ΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ
$query Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π½Π°:
MSSQL Server Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΏΠ°ΠΊΠ΅ΡΠ½ΡΠ΅ SQL-Π·Π°ΠΏΡΠΎΡΡ, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ
Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π² Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ
ΡΡΡΡΠ½ΡΡ
Π·Π°ΠΏΠΈΡΠ΅ΠΉ.
ΠΡΠ»ΠΈ Π±Ρ ΡΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°ΠΏΡΡΡΠΈΠ»ΠΈ ΠΎΡ ΠΈΠΌΠ΅Π½ΠΈ ΡΡΠΏΠ΅ΡΠ°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ°
sa,
Π° ΡΠ»ΡΠΆΠ±Ρ MSSQLSERVER Π·Π°ΠΏΡΡΡΠΈΠ»ΠΈ Π±Ρ Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΡΠΌΠΈ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΌΠΈ,
Ρ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊΠ° ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ Π±Ρ ΡΡΡΡΠ½Π°Ρ Π·Π°ΠΏΠΈΡΡ Ρ Π΄ΠΎΡΡΡΠΏΠΎΠΌ ΠΊ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅.
ΠΠ°ΠΌΠ΅ΡΠ°Π½ΠΈΠ΅:
Π§Π°ΡΡΡ ΠΏΡΠΈΠ²Π΅Π΄ΡΠ½Π½ΡΡ
ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΏΡΠΈΠ²ΡΠ·Π°Π½Π° ΠΊ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌΡ ΡΠ΅ΡΠ²Π΅ΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
,
Π½ΠΎ ΡΡΠΎ Π½Π΅ Π³ΠΎΠ²ΠΎΡΠΈΡ ΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΠΎΡ
ΠΎΠΆΠ΅ΠΉ Π°ΡΠ°ΠΊΠΈ Π½Π° Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΡΠΎΠ΄ΡΠΊΡΡ.
Π‘Π΅ΡΠ²Π΅Ρ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
ΠΏΠΎΠ΄Π²Π΅ΡΠΆΠ΅Π½ ΠΈ Π΄ΡΡΠ³ΠΈΠΌ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠΌ.
Π’Π΅Ρ
Π½ΠΈΠΊΠΈ Π·Π°ΡΠΈΡΡ
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ SQL-ΠΈΠ½ΡΠ΅ΠΊΡΠΈΠΉ β ΡΠ²ΡΠ·Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΡΠΌΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠΌΠΈ.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΡ
Π·Π°ΠΏΡΠΎΡΠΎΠ² Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ, ΡΡΠΎΠ±Ρ Π½Π° 100 ΠΏΡΠΎΡΠ΅Π½ΡΠΎΠ² ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ SQL-ΠΈΠ½ΡΠ΅ΠΊΡΠΈΠΉ,
Π½ΠΎ ΡΡΠΎ ΠΏΡΠΎΡΡΠ΅ΠΉΡΠΈΠΉ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π²Ρ
ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ SQL-ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠΌ.
ΠΠΈΡΠ΅ΡΠ°Π»Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ
Π΄Π°Π½Π½ΡΡ
Π² ΡΡΠ»ΠΎΠ²ΠΈΡΡ
WHERE, SET
ΠΈ VALUES ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠΌΠΈ. Π‘Π΅ΡΠ²Π΅Ρ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
ΡΠ²ΡΠΆΠ΅Ρ
ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΈΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ ΠΎΡ SQL-ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
Π‘Π΅ΡΠ²Π΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ ΡΠ²ΡΠ·ΡΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Π΄Π°Π½Π½ΡΡ
.
ΠΡΡΠ³ΠΈΠ΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ°ΡΡΠΈ SQL-Π·Π°ΠΏΡΠΎΡΠ° ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΎΡΡΠΈΠ»ΡΡΡΠΎΠ²Π°ΡΡ ΠΏΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠΌΡ ΡΠΏΠΈΡΠΊΡ ΡΠ°Π·ΡΠ΅ΡΡΠ½Π½ΡΡ
Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ.
ΠΡΠΈΠΌΠ΅Ρ #5
ΠΠ·Π±Π΅Π³Π°Π½ΠΈΠ΅ SQL-ΠΈΠ½ΡΠ΅ΠΊΡΠΈΠΉ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΡΡ
ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ PDO
<?php
// ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ°ΡΡΡ SQL-Π·Π°ΠΏΡΠΎΡΠ° ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ Π½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌ
$sortingOrder = $_GET['sortingOrder'] === 'DESC' ? 'DESC' : 'ASC';
$productId = $_GET['productId'];
// SQL-Π·Π°ΠΏΡΠΎΡ ΠΏΠΎΠ΄Π³ΠΎΡΠ°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Ρ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π΅ΠΌ
$stmt = $pdo->prepare("SELECT * FROM products WHERE id LIKE ? ORDER BY price {$sortingOrder}");
// ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ Ρ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΎΡΠ½ΡΠΌΠΈ Π·Π½Π°ΠΊΠ°ΠΌΠΈ LIKE
$stmt->execute(["%{$productId}%"]);
?>
ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΌΠΎΠ΄ΡΠ»ΠΈ PDO,
MySQLi
ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π±Π°Π· Π΄Π°Π½Π½ΡΡ
.
ΠΡΠ°ΠΊΠΈ Ρ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΠ΅ΠΌ SQL-ΠΈΠ½ΡΠ΅ΠΊΡΠΈΠΉ ΠΎΠ±ΡΡΠ½ΠΎ ΠΎΡΠ½ΠΎΠ²Π°Π½Ρ Π½Π° ΠΊΠΎΠ΄Π΅,
ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°ΠΏΠΈΡΠ°Π»ΠΈ Π±Π΅Π· ΡΡΡΡΠ° ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ.
Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π΄ΠΎΠ²Π΅ΡΡΡΡ Π½ΠΈΠΊΠ°ΠΊΠΈΠΌ Π²Ρ
ΠΎΠ΄Π½ΡΠΌ Π΄Π°Π½Π½ΡΠΌ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΡΠΎ ΡΡΠΎΡΠΎΠ½Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°,
Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π²Ρ
ΠΎΠ΄Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎΡΡΡΠΏΠ°ΡΡ ΠΈΠ· HTML-Π±Π»ΠΎΠΊΠ° SELECT,
ΡΠΊΡΡΡΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ Π²Π²ΠΎΠ΄Π° ΠΈΠ»ΠΈ ΠΈΠ· cookie. ΠΠ΅ΡΠ²ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠΉ ΠΏΡΠΎΡΡΠΎΠΉ Π·Π°ΠΏΡΠΎΡ
Π»Π΅Π³ΠΊΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΊΠ°ΡΠ°ΡΡΡΠΎΡΠ΅.
Π‘ΡΡΠ°ΡΠ΅Π³ΠΈΡ Π³Π»ΡΠ±ΠΎΠΊΠΎΠΉ Π·Π°ΡΠΈΡΡ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π½Π°Π±ΠΎΡ ΠΏΡΠ°ΠΊΡΠΈΠΊ Ρ
ΠΎΡΠΎΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°:
-
ΠΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΠΉΡΠ΅ΡΡ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ
ΠΊΠ°ΠΊ ΡΡΠΏΠ΅ΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈΠ»ΠΈ Π²Π»Π°Π΄Π΅Π»Π΅Ρ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
.
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΌΠΈ.
-
ΠΡΠΎΠ²Π΅ΡΡΠΉΡΠ΅ Π²Ρ
ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΡΠΈΠΏΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠΆΠΈΠ΄Π°Π»ΡΡ.
Π PHP ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π²Ρ
ΠΎΠ΄Π½ΡΡ
Π΄Π°Π½Π½ΡΡ
,
ΠΎΡ ΠΏΡΠΎΡΡΠ΅ΠΉΡΠΈΡ
ΡΡΠ½ΠΊΡΠΈΠΉ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ
Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ is_numeric()
ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠΈΠΏΠ° ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²
Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ctype_digit() ΠΈ Π΄Π°Π»Π΅Π΅ ΠΊ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ΅
Perl-ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΡ
ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΡ
Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ.
-
ΠΡΠ»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ ΡΠΈΡΠ»ΠΎΠ²ΡΠ΅ Π²Ρ
ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅,
ΡΠ°ΡΡΠΌΠΎΡΡΠΈΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΠΎΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ
ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ ctype_digit(),
Π½Π΅Π·Π°ΠΌΠ΅ΡΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ ΡΠΈΠΏ Π²Ρ
ΠΎΠ΄Π½ΡΡ
Π΄Π°Π½Π½ΡΡ
ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ settype()
ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΡΠΈΡΠ»ΠΎΠ²ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π²Ρ
ΠΎΠ΄Π½ΡΡ
Π΄Π°Π½Π½ΡΡ
ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ sprintf().
-
ΠΡΠ»ΠΈ Π½Π° ΡΡΠΎΠ²Π½Π΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠ²ΡΠ·ΡΠ²Π°Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
,
Π²ΠΎΠ·ΡΠΌΠΈΡΠ΅ Π² ΠΊΠ°Π²ΡΡΠΊΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ΅ Π½Π΅ΡΠΈΡΠ»ΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ Π² ΠΠ
ΡΠ΅ΡΠ΅Π· Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠ½ΡΡ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
ΡΡΠ½ΠΊΡΠΈΡ ΡΠΊΡΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΡΠΎΠΊΠΈ:
mysql_real_escape_string(),
sqlite_escape_string() ΠΈ Ρ. Π΄.
ΠΠ±ΡΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ addslashes() ΠΏΠΎΠ»Π΅Π·Π½Ρ
ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ
ΡΡΠ΅Π΄Π°Ρ
(Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π‘Π£ΠΠ MySQL Π² ΠΎΠ΄Π½ΠΎΠ±Π°ΠΉΡΠΎΠ²ΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ΅
Ρ ΠΎΡΠΊΠ»ΡΡΡΠ½Π½ΡΠΌ ΡΠ΅ΠΆΠΈΠΌΠΎΠΌ NO_BACKSLASH_ESCAPES), ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΠ
Π»ΡΡΡΠ΅ ΠΈΠ·Π±Π΅Π³Π°ΡΡ ΡΠ°ΠΊΠΈΡ
ΡΡΠ½ΠΊΡΠΈΠΉ.
-
ΠΠΈ Π² ΠΊΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π΅ Π²ΡΠ²ΠΎΠ΄ΠΈΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΠΠ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΎ ΡΡΡΡΠΊΡΡΡΠ΅.
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π΄Π°ΡΡ ΡΠ°Π·Π΄Π΅Π»Ρ Β«Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ°Ρ
Β»
ΠΈ Β«Π€ΡΠ½ΠΊΡΠΈΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊΒ».
ΠΡΠΎΠΌΠ΅ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ, Π²ΡΠ³ΠΎΠ΄Ρ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΎΡ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π»ΠΈΠ±ΠΎ Π²Π½ΡΡΡΠΈ ΡΠΊΡΠΈΠΏΡΠ°,
Π»ΠΈΠ±ΠΎ Π½Π° ΡΡΠΎΠ²Π½Π΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
, Π΅ΡΠ»ΠΈ ΠΠ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅. ΠΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
Π½Π΅ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈΡΡ ΠΏΠΎΠΏΡΡΠΊΠΈ Π½Π°Π²ΡΠ΅Π΄ΠΈΡΡ, Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΡΠΈ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ,
Π·Π°ΡΠΈΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ ΠΎΠ±ΠΎΠΉΡΠΈ. ΠΠΎΠ»ΡΠ·Π° ΡΠ°ΠΉΠ»Π° ΠΆΡΡΠ½Π°Π»Π° Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π½Π΅ Π² ΡΠ°ΠΌΠΎΠΌ ΡΠ°ΠΉΠ»Π΅,
Π° Π² ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π»ΠΎΠ³.
ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΊΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π»ΡΡΡΠ΅ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠ΅ΡΡΡ ΠΈΠ·Π±ΡΡΠΎΡΠ½ΠΎΠ΅ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅.