рдЕрджреНрдпрддрди: рд╢рдмреНрдж "рдЕрд╕рдлрд▓" рд▓реЗрдЦ рдХреЗ рд╢реАрд░реНрд╖рдХ рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдиреАрдЪреЗ рд╡рд┐рд╡рд░рдг!
рдПрд╕рдХреНрдпреВрдПрд▓ рдЗрдВрдЬреЗрдХреНрд╢рди рдХреЗ рдЦрд┐рд▓рд╛рдл рд╕реБрд░рдХреНрд╖рд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЧрд▓рддрдлрд╣рдореА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореЗрд░реЗ
рд▓реЗрдЦ рдореЗрдВ рдмреЛрд▓рддреЗ рд╣реБрдП, рдореИрдВрдиреЗ рдЗрд╕ рддрдереНрдп рдкрд░ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдХрд┐ рдШреЛрд╖рд┐рдд рдкреНрд░рднрд╛рд╡реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдЕрдиреБрд╕рд╛рд░ PHP рдореЗрдВ рд╕рд░реНрд╡рд░-рддреИрдпрд╛рд░ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпрд╛рдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреА рд╣реИрдВ - рддреИрдпрд╛рд░ () рдПрдХ рдмрд╛рд░, рдлрд┐рд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ () 1000 рдмрд╛рд░ред
рдареАрдХ рд╣реИ, рдЕрд░реНрдерд╛рддреН, рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рд╡реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ - рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд░рди рдХреЗ рднреАрддрд░ред рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдЖрдк рдмрд╣реБрдд рд╕реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ (рдкреЗрд╢реЗрд╡рд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦрд┐рдд) рдЬрд╛рдирддреЗ рд╣реИрдВ рдЬреЛ рд╕рдорд╛рди рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВ? рдореИрдВ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рдмрд╛рд░-рдмрд╛рд░ рдЕрдиреБрд░реЛрдз (рдХреБрдЫ рдПрдХрд╛рдзрд┐рдХ рдЕрдкрдбреЗрдЯ) - рдкреНрд░рддрд┐рд╢рдд рдХрд╛ рдПрдХ рдЕрдВрд╢, рдФрд░ рдЕрдзрд┐рдХрд╛рдВрд╢ рднрд╛рдЧ рдХреЗ рдЕрдиреБрд░реЛрдз рдЕрджреНрд╡рд┐рддреАрдп рд╣реИрдВ (рдПрдХ рд╣реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рднреАрддрд░)ред
рддрджрдиреБрд╕рд╛рд░, рд╣рдорд╛рд░реЗ рдЕрджреНрд╡рд┐рддреАрдп рдЕрдиреБрд░реЛрдз рдХреЗ рд▓рд┐рдП, рддреИрдпрд╛рд░ () рдХреЛ рдкрд╣рд▓реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдлрд┐рд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ (), рдлрд┐рд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдорд░ рдЬрд╛рддреА рд╣реИ, рддрд╛рдХрд┐ рдЬрдм рд╡рд╣ рдЕрдЧрд▓реЗ HTTP рдЕрдиреБрд░реЛрдз рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗ, рддреЛ рддреИрдпрд╛рд░ () рдлрд┐рд░ рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ ... рдпрд╣ рдХрд┐рд╕реА рднреА рддрд░рд╣ рдЕрдиреБрдХреВрд▓рди рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЬреНрдпрд╛рджрд╛ рдирд╣реАрдВ рд╣реИред рдмрд▓реНрдХрд┐, рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрддред
рдЬреИрд╕рд╛ рдХрд┐ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдореБрдЭреЗ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдХрдиреЗрдХреНрд╢рди рд░рдЦрдиреЗ рд╡рд╛рд▓реЗ рдХрдВрд╕реЛрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ рдбреЗрдореЙрди рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдкрд╡рд╛рджреЛрдВ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╣рд╛рд▓рд╛рдВрдХрд┐, PHP рд▓рд┐рдкрд┐рдпреЛрдВ рдХреЗ рдереЛрдХ рдЕрднреА рднреА рд╕рд╛рдордиреЗ рдХреЗ рдЫреЛрд░ рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВ, рджрд░реНрдЬрдиреЛрдВ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдорд░ рдЬрд╛рддреЗ рд╣реИрдВред
рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╢реБрд░реВ рд╣реЛрдиреЗ рдХреЗ рдмреАрдЪ рддреИрдпрд╛рд░ рдЕрдиреБрд░реЛрдз рдХреЛ рдХрд┐рд╕реА рддрд░рд╣ рд╕реЗ рдХреИрд╢ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ?
рдФрд░ рдлрд┐рд░ рдПрдХ рд╡рд┐рдЪрд╛рд░ рдиреЗ рдореБрдЭреЗ рдорд╛рд░рд╛!
рд▓реЗрдХрд┐рди рдЕрднреА рднреА рдХреБрдЫ рд╡рд┐рд╕рдВрдЧрддрд┐рдпрд╛рдВ рдереАрдВ, рд▓реЗрдХрд┐рди
рдПрдЪрдкреАрд╕реА рд╕рдореНрдореЗрд▓рди рдХреЛ рдмрд╣реБрдд рд╣реА рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдмрджрд▓ рджрд┐рдпрд╛, рдЬреЛ рдХрд┐ рд▓реЛрдЧреЛрдВ рдХреЛ рдмреЛрд▓рдиреЗ рд╡рд╛рд▓рд╛ рдерд╛ рдЬреЛ рдореБрдЭреЗ рд╕рд▓рд╛рд╣ рджреЗ рд╕рдХрддреЗ рдереЗред рдФрд░ рдореЗрд░реА рдЙрдореНрдореАрджреЛрдВ рдиреЗ рдореБрдЭреЗ рдзреЛрдЦрд╛ рдирд╣реАрдВ рджрд┐рдпрд╛ - рдЗрд╕рд▓рд┐рдП, рдЗрд╕ рдЕрд╡рд╕рд░ рдХреЛ рд▓реЗрддреЗ рд╣реБрдП, рдореИрдВ рдЕрдкрдиреА рдЬреАрд╡рдВрдд рднрд╛рдЧреАрджрд╛рд░реА рдФрд░ рдЕрдореВрд▓реНрдп рдкрд░рд╛рдорд░реНрд╢ рдХреЗ рд▓рд┐рдП рд╕рд░реНрдЧреЗрдИ рдПрд╡рд░рд┐рди рдФрд░ рдХреЛрд╕реНрдЯреНрдпрд╛ рдУрд╕рд┐рдкреЛрд╡ рдХреЗ рдкреНрд░рддрд┐ рдЕрдкрдиреА рдЧрд╣рд░реА рдХреГрддрдЬреНрдЮрддрд╛ рд╡реНрдпрдХреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред
рд╣рдореЗрдВ рдореВрд▓ рднрд╛рдЧ рдХреЛ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред
рддреЛ, рдХрд╛рд░реНрдп:
рд╣рдо рдПрдХ рдирдП PHP рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рддреИрдпрд╛рд░ рдЕрдиреБрд░реЛрдз рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рдпрд╣рд╛рдБ рджреЛ рдореБрдЦреНрдп рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ:
- рддреИрдпрд╛рд░ рдмрдпрд╛рди рдХреЗрд╡рд▓ рдПрдХ рдХрдиреЗрдХреНрд╢рди рдХреЗ рднреАрддрд░ рд░рд╣рддрд╛ рд╣реИ, рдпрд╣ рдЗрддрдирд╛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рд╣реИред рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЧрдИ рд╣реИред
- рддреИрдпрд╛рд░ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╕рдВрднрд╛рд▓ рдПрдХ рд╡рд╕реНрддреБ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХреЛрдИ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИ - рдХрд┐рд╕реА рд╡рд╕реНрддреБ рдХреЛ рдХрд┐рд╕реА рдЕрдиреНрдп рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ
рдЖрдЧреЗ рджреЗрдЦрддреЗ рд╣реБрдП, рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рд╕рдм рдХреБрдЫ рджреВрд╕рд░реЗ рддрд░реАрдХреЗ рд╕реЗ рд╣реЛ рдЧрдпрд╛ - рджреВрд╕рд░реА рд╕рдорд╕реНрдпрд╛ рдЖрд╕рд╛рдиреА рд╕реЗ рд╣рд▓ рд╣реЛ рдЧрдИ, рдФрд░ рдкрд╣рд▓реА рдмрд╛рд░ рдПрдХ рджреБрд░реНрдЧрдо рдмрд╛рдзрд╛ рдмрди рдЧрдИред
рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рдмрд╛рддреЗрдВ рдкрд╣рд▓реЗред
рдкрд╣рд▓реА рд╕рдорд╕реНрдпрд╛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╣рд▓ рдХреА рдЧрдИ рд╣реИ - рд▓рдЧрд╛рддрд╛рд░ рдХрдиреЗрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред
рдЖрдЦрд┐рд░рдХрд╛рд░, рд╣рдо рдкрд┐рдЫрд▓реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рдорд╛рди рдХрдиреЗрдХреНрд╢рди рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдпрд╣реА рд╣реИ, рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдЙрдиреНрд╣реЗрдВ рдкреВрд░реЗ рд╡рд╛рддрд╛рд╡рд░рдг рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП рдЬреЛ рдкрд┐рдЫрд▓реА рдХреЙрд▓ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдИ рдЧрдИ рдереАред
рджреВрд╕рд░реА рд╕рдорд╕реНрдпрд╛ рднреА рд╣рд▓ рд╣реЛ рдЧрдИ, рдФрд░ рдмрд╣реБрдд рд╕рд░рд▓рддрд╛ рд╕реЗред
рджрд░рдЕрд╕рд▓, рдореИрд╕реВрд░ рдореЗрдВ рддреИрдпрд╛рд░ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХреЗ рджреЛ рдкреНрд░рдХрд╛рд░ рд╣реИрдВ - рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдмреЛрд▓рдирд╛, "рдмрд╛рдЗрдирд░реА" рдФрд░ "рд╕реНрдЯреНрд░рд┐рдВрдЧ"!
рдФрд░ рдЕрдЧрд░ рдкреВрд░реНрд╡ рд╣рдореЗрдВ рд╕реВрдЯ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЙрддреНрддрд░рд╛рд░реНрджреНрдз рдмрд┐рд▓реНрдХреБрд▓ рд╡рд╣реА рд╣реИрдВ рдЬреЛ рд╣рдореЗрдВ рдЪрд╛рд╣рд┐рдП!
"рдмрд╛рдЗрдирд░реА" рддреИрдпрд╛рд░ рднрд╛рд╡ рдПрдкреАрдЖрдИ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рддреИрдпрд╛рд░ рдХреНрд╡реЗрд░реА рд╣реИрдВрдбрд▓рд░ рдХреЗрд╡рд▓ рдПрдХ рд╡рд░реНрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИ, рдФрд░ рдбреЗрдЯрд╛ рдмрд╛рдЗрдирд░реА рдкреИрдХреЗрдЬ рдореЗрдВ рд╕рд░реНрд╡рд░ рдкрд░ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдЙрд╕ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдорд┐рд▓рддрд╛-рдЬреБрд▓рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреНрд╡реЗрд░реА рдкрд░рд┐рдгрд╛рдо рджреЗрддрд╛ рд╣реИред рдбреНрд░рд╛рдЗрд╡рд░ рдХреЗ рдЧрдВрднреАрд░ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдмрд┐рдирд╛, рдЙрди рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред
рд▓реЗрдХрд┐рди "рд╕реНрдЯреНрд░рд┐рдВрдЧ" рдпрд╛ "SQL рддреИрдпрд╛рд░ рдХрдерди" рдирд┐рдпрдорд┐рдд рдПрд╕рдХреНрдпреВрдПрд▓ рдкреНрд░рд╢реНрди рд╣реИрдВ, рдЬреЛ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ
рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рджрд┐рдП рдЧрдП рд╣реИрдВ:
PREPARE stmt1 FROM 'SELECT SQRT(POW(?,2) + POW(?,2)) AS hypotenuse';
SET @a = 3;
SET @b = 4;
EXECUTE stmt1 USING @a, @b;
SQL !
prepare , execute тАФ ? тАФ :
mysql_pconnect($host,$user,$pass);
mysql_query("PREPARE stmt2 FROM 'SELECT ?+? AS sum'") or trigger_error(mysql_error());
mysql_query("SET @a = 6") or trigger_error(mysql_error());
mysql_query("SET @b = 8") or trigger_error(mysql_error());
$res = mysql_query("EXECUTE stmt2 USING @a, @b") or trigger_error(mysql_error());
$row = mysql_fetch_array($res);
var_dump($row);
PREPARE, тАж . !
, ┬л prepare() тАФ execute()┬╗ .
, , . , , , .
, , mysqli.
. , , ┬л┬╗ тАФ : , . mysqli C API
mysql_change_user(). , , , , .
,
- тАФ ┬лpersistent connection , , ┬╗
- mysql ext deprecated тАФ ..
- mysqli_multi_query
- , SQL prepared statements
, .
.
- , , , . . , тАФ , . тАФ , , .
, :
prepared statements , . ┬л ┬╗ ( native prepard statements), SET .
: BVadim , mysqli MYSQLI_NO_CHANGE_USER_ON_PCONNECT. , , prepared !
, , .