рдПрдХреНрд╕реЗрд▓ рд╕реЗ рд▓реЗрдХрд░ MySQL рддрдХред PHP рдореЗрдВ рдЫреЛрдЯрд╛ рдХрд╛рд░реНрдп (рдирд┐рд╢реНрдЪрд┐рдд)

рдкрд░рд┐рдЪрдп


рд╣реИрд▓реЛ $ habrauser !

рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдПрдХ рдПрдХреНрд╕реЗрд▓ рдлрд╝рд╛рдЗрд▓ рдХреЛ MySQL рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдХрд╣реАрдВ рднреА рдХреЛрдИ рддреИрдпрд╛рд░ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЬрдм рдПрдХ рджреЛрд╕реНрдд рдиреЗ рдореБрдЭреЗ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛, рддреЛ рдореИрдВрдиреЗ рдкрд╣рд▓реА рдмрд╛рд░ рдПрдХ рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рдЦреЛрдЬ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред рдХрд╛рд╢, mysql рдХреНрд╡реЗрд░реА рдХреЗ рд▓рд┐рдП php рдПрдХреНрд╕реЗрд▓ рдХреБрдЫ рднреА рдареЛрд╕ рдирд╣реАрдВ рджреЗрддрд╛, рдпрд╛ рд╡рд░реНрдгрд┐рдд рддрд░реАрдХреЗ рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдереЗред рддрдм рдореИрдВрдиреЗ PHP рдореЗрдВ рдПрдХреНрд╕реЗрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЦреЛрдЬрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдФрд░ рдореИрдВ PHPExcel рдореЗрдВ рдЖрдпрд╛ред рд▓реЗрдХрд┐рди рдлрд┐рд░ рд╕реЗ, рдирд┐рд░рд╛рд╢рд╛ рдиреЗ рдореЗрд░рд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд┐рдпрд╛, mysql рдХреНрд╡реЗрд░реА рдХреЗ рд▓рд┐рдП phpexcel рдиреЗ рдХреБрдЫ рднреА рд╕рд╛рд░реНрдердХ рдирд╣реАрдВ рджрд┐рдпрд╛ (рдореИрдВ рдПрдХ рдЖрд▓рд╕реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реВрдВ рдФрд░ 1 рдкреГрд╖реНрда рд╕реЗ рдЖрдЧреЗ рдирд╣реАрдВ рдЬрд╛рддрд╛)ред рдЕрдВрдд рдореЗрдВ, рдореИрдВрдиреЗ рдЕрдкрдиреА рдмрд╛рдЗрдХ рдХреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдЬрд┐рд╕реЗ рдореИрдВ рдЖрдкрдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред

рд╢реБрд░реБрдЖрдд


рдЗрд╕рд▓рд┐рдП, рдореИрдВрдиреЗ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ , рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдФрд░ рд╕рдордЭрдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ рдерд╛ рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдПрдХ рдХрдиреЗрдХреНрд╢рди рдмрдирд╛рдирд╛ рдерд╛, рдЬреЛ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИ:
require_once "PHPExcel.php"; $connection = new mysqli("localhost", "user", "pass", "base"); $connection->set_charset("utf8"); 

рдЕрдЧрд▓рд╛, рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП Excel рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реЗрдВ:
 $PHPExcel_file = PHPExcel_IOFactory::load("./file.xlsx"); 

рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдореЗрдВ рдЗрд╕рдореЗрдВ рд╕рднреА рд╢реАрдЯреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реЙрд░реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдХреЛ MySQL рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ (рдЖрдк 1 рд╡рд┐рд╢рд┐рд╖реНрдЯ рдПрдХ рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдмрд╛рдж рдореЗрдВ рдФрд░ рдЕрдзрд┐рдХ):
 foreach ($PHPExcel_file->getWorksheetIterator() as $worksheet) { // ... } 

рдЦреИрд░, рдЕрдм рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк ...

Iterate рдФрд░ рдЬреЛрдбрд╝реЗрдВ


рд╣рдо рдЗрд╕ рддрдереНрдп рд╕реЗ рдЖрдЧреЗ рдмрдврд╝реЗрдВрдЧреЗ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдирд╣реАрдВ рд╣реИ (рдпрд╛ рд╡рд╣рд╛рдБ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдиреНрдп рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде) рдФрд░ рд╣рдореЗрдВ рдЗрд╕реЗ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдХреЙрд▓рдо рдХреЗ рд▓рд┐рдП рдирд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рдЬреИрд╕рд╛ рдХрд┐ рдПрдХ рдорд┐рддреНрд░ рджреНрд╡рд╛рд░рд╛ рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдирд╛рдо рддрд╛рд▓рд┐рдХрд╛ рдХреА 1 рдкрдВрдХреНрддрд┐ рдореЗрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ):
 //      MySQL $columns_str = ""; //     Excel $columns_count = PHPExcel_Cell::columnIndexFromString($worksheet->getHighestColumn()); //    Excel        for ($column = 0; $column < $columns_count; $column++) { $columns_str .= ($columns_name_on1line ? "column" . $column : $worksheet->getCellByColumnAndRow($column, 1)->getCalculatedValue()) . ","; } //  ,     $columns_str = substr($columns_str, 0, -1); 

рдЕрдЧрд▓рд╛, рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рд╣рдЯрд╛ рджреЗрдВ, рдЕрдЧрд░ рдпрд╣ рдЕрд╕реНрддрд┐рддреНрд╡ рдореЗрдВ рд╣реИ, рдФрд░ рдПрдХ рдирдпрд╛ рдмрдирд╛рдПрдВ:
 $connection->query("DROP TABLE IF EXISTS exceltable"); $connection->query("CREATE TABLE exceltable (" . str_replace(",", " TEXT NOT NULL,", $columns_str) . " TEXT NOT NULL)"); 

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдХреЛрдб рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдорд╛рди TEXT рдкреНрд░рдХрд╛рд░ рдХреЗ рд╣реЛрдВрдЧреЗред рдЕрдм рд╣рдо рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЫрд╛рдВрдЯрдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВред рдмреЗрд╢рдХ, рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд╕реНрдЯреИрдХ рдУрд╡рд░рдлреНрд▓реЛ рдХреА рд╡рд┐рд╢рд╛рд▓рддрд╛ рдореЗрдВ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рджреЗрдЦрд╛ рдЧрдпрд╛ рдХрд┐ рд╕рдВрдпреБрдХреНрдд рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреЛ рдкрдврд╝рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╕рдордп рдПрдХ рддреНрд░реБрдЯрд┐ рд╣реБрдИ (рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ, рдХреНрд╡реЗрд░реА рдореЗрдВ рдХреЙрд▓рдо рдФрд░ рдорд╛рдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рддреА)ред рдпрд╣ рдореИрдВрдиреЗ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрд╛:
 //     Excel $rows_count = $worksheet->getHighestRow(); //    Excel for ($row = 1; $row <= $rows_count; $row++) { //         Excel $value_str = ""; //    Excel for ($column = 0; $column < $columns_count; $column++) { //       Excel $merged_value = ""; //   Excel $cell = $worksheet->getCellByColumnAndRow($column, $row); //      Excel foreach ($worksheet->getMergeCells() as $mergedCells) { //    - , if ($cell->isInRange($mergedCells)) { //      ,       //   $merged_value = $worksheet->getCell(explode(":", $mergedCells)[0])->getCalculatedValue(); break; } } // ,    :  ,    ,    //   $value_str .= "'" . (strlen($merged_value) == 0 ? $cell->getCalculatedValue() : $merged_value) . "',"; } //  ,     $value_str = substr($value_str, 0, -1); //     MySQL $connection->query("INSERT INTO exceltable (" . $columns_str . ") VALUES (" . $value_str . ")"); } 

рдпрд╣ рд╕рдм рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ!


рдмреЗрд╢рдХ, рдпрд╣ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрдЧреА рдпрджрд┐ рд╕рдм рдХреБрдЫ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ред рдЗрд╕рд▓рд┐рдП, рдЕрдВрддрд┐рдо рдкрд░рд┐рдгрд╛рдо рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:
Excel2mysql рдлрд╝рдВрдХреНрд╢рди
 //   require_once "PHPExcel.php"; //    Excel   MySQL,      . //    . : // $worksheet -  Excel // $connection -   MySQL (mysqli) // $table_name -   MySQL // $columns_name_line -      MySQL (0 -   column + n) function excel2mysql($worksheet, $connection, $table_name, $columns_name_line = 0) { //    MySQL if (!$connection->connect_error) { //      MySQL $columns_str = ""; //     Excel $columns_count = PHPExcel_Cell::columnIndexFromString($worksheet->getHighestColumn()); //    Excel        for ($column = 0; $column < $columns_count; $column++) { $columns_str .= ($columns_name_line == 0 ? "column" . $column : $worksheet->getCellByColumnAndRow($column, $columns_name_line)->getCalculatedValue()) . ","; } //  ,     $columns_str = substr($columns_str, 0, -1); //   MySQL,    if ($connection->query("DROP TABLE IF EXISTS " . $table_name)) { //   MySQL if ($connection->query("CREATE TABLE " . $table_name . " (" . str_replace(",", " TEXT NOT NULL,", $columns_str) . " TEXT NOT NULL)")) { //     Excel $rows_count = $worksheet->getHighestRow(); //    Excel for ($row = $columns_name_line + 1; $row <= $rows_count; $row++) { //         Excel $value_str = ""; //    Excel for ($column = 0; $column < $columns_count; $column++) { //       Excel $merged_value = ""; //   Excel $cell = $worksheet->getCellByColumnAndRow($column, $row); //      Excel foreach ($worksheet->getMergeCells() as $mergedCells) { //    - , if ($cell->isInRange($mergedCells)) { //      ,       //   $merged_value = $worksheet->getCell(explode(":", $mergedCells)[0])->getCalculatedValue(); break; } } // ,    :  ,    ,    //   $value_str .= "'" . (strlen($merged_value) == 0 ? $cell->getCalculatedValue() : $merged_value) . "',"; } //  ,     $value_str = substr($value_str, 0, -1); //     MySQL $connection->query("INSERT INTO " . $table_name . " (" . $columns_str . ") VALUES (" . $value_str . ")"); } } else { return false; } } else { return false; } } else { return false; } return true; } //    MySQL $connection = new mysqli("localhost", "user", "pass", "base"); //   UTF-8 $connection->set_charset("utf8"); //   Excel $PHPExcel_file = PHPExcel_IOFactory::load("./file.xlsx"); //    Excel   MySQL $PHPExcel_file->setActiveSheetIndex(0); echo excel2mysql($PHPExcel_file->getActiveSheet(), $connection, "excel2mysql0", 1) ? "OK\n" : "FAIL\n"; //    Excel     MySQL foreach ($PHPExcel_file->getWorksheetIterator() as $index => $worksheet) { echo excel2mysql($worksheet, $connection, "excel2mysql" . ($index != 0 ? $index : ""), 1) ? "OK\n" : "FAIL\n"; } 


рдирд┐рд╖реНрдХрд░реНрд╖


рдЦреИрд░, рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рд▓реЗрдЦ рдЖрдкрдХреА рдорджрдж рдХрд░рддрд╛ рд╣реИред рдареАрдХ рд╣реИ, рдпрд╛, рдпрджрд┐ рдЖрдк рдЕрдкрдиреА рдмрд╛рдЗрдХ рдХрд╛ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ , рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдПрдХ рдореЛрдЯрд░ рдХреЗ рд╕рд╛рде рдЕрдкрдиреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦреЗрдВ, рдпрд╣ рд▓реЗрдЦ рдЖрдкрдХреЛ рдЖрд░рдВрдн рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ред

рдкреБрдирд╢реНрдЪ


рдпрд╣ рдореЗрд░рд╛ рдкрд╣рд▓рд╛ рд╣реИ, рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдВрддрд┐рдо рд▓реЗрдЦ рдирд╣реАрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдореИрдВ рдЖрдкрдХреА рд╕рд▓рд╛рд╣ рдФрд░ рд╕рдВрд╢реЛрдзрдиреЛрдВ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣рд╛рдВ рдкреНрд░рдерд╛рдЧрдд рд╣реИ, рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВред

рдЕрджреНрдпрддрди


рдореИрдВ рджреЗрдЦрддрд╛ рд╣реВрдВ, рдЖрдЦрд┐рд░рдХрд╛рд░, рдореИрдВ рдПрдХ рдЫреЛрдЯреА рд╕реА рдЪрд░реНрдЪрд╛ рдмрдирд╛рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛, рд▓реЗрдХрд┐рди рд╣рд░ рдХреЛрдИ рдпрд╣ рдирд╣реАрдВ рд╕рдордЭрддрд╛ рдХрд┐ рдРрд╕рд╛ рдХреНрдпреЛрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдореИрдВ рд╕рдордЭрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ: рдПрдХ рдмреБрдЬреБрд░реНрдЧ рд╡реНрдпрдХреНрддрд┐ рдХреЛ рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛, рдпрд╣ рд╕рдордЭрд╛рдиреЗ рдореЗрдВ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛрдЧреА рдХрд┐ рдбреЗрдЯрд╛ рдЦреЛрдП рдмрд┐рдирд╛, рд╕реАрдПрд╕рд╡реА рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдХреИрд╕реЗ рдмрдЪрд╛рдпрд╛ рдЬрд╛рдП (рдФрд░ рдЗрд╕реЗ рдмрд╛рд╣рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЙрдирдХреЗ рдкрд╛рд╕ рдКрдкрд░ рд╕реЗ рдЖрдиреЗ рд╡рд╛рд▓реА рдПрдХреНрд╕рдПрд▓рдПрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рдкреНрд░рд╛рд░реВрдк рд╣реИ) рдФрд░, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдпрд╣ phpMyAdmin рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрдпрд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЬреЛ, рд╡реИрд╕реЗ, рд╕рдВрд╕реНрдХрд░рдг 3.4.5 рдХреЗ рдмрд╛рдж рд╕реЗ XLS / XLSX рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ , рдореИрдВ рдЖрдкрдХреЛ рдпрд╣ рджреЗрдЦрдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рдХреНрдпреЛрдВ) рдпрд╛ рдкрд╕рдВрдж рд╣реИред рдЗрд╕рд▓рд┐рдП рдпрд╣ рдлрд┐рдЯ рдирд╣реАрдВ рд╣реИред

рджреВрд╕рд░реА рдмрд╛рдд: рдпрд╣ рд╕рдм рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдкрд░ рд╕реНрдерд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рд╕рд░реНрд╡рд░ рдФрд░ рд╕реНрдерд╛рдиреАрдп рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рджреЛрдиреЛрдВ рдкрд░ рдореЙрдбреНрдпреВрд▓ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИ (рд▓рд┐рдирдХреНрд╕ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдФрд░ рд╡рд┐рдВрдбреЛрдЬ рдирд╣реАрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдХреБрдЫ рд╕реЛрдЪрд╛ рдЧрдпрд╛ рд╣реИ)ред

рддреАрд╕рд░рд╛: рдпрд╣ рд╡реНрдпрд╡рд╕рд╛рдп рд╣рд░ рдЫрд╣ рдорд╣реАрдиреЗ рдореЗрдВ рдПрдХ рдмрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрд▓рд╕реНрдп рд╕реЗ рдореИрдВрдиреЗ рдРрд╕рд╛ рдХрд╛рд░реНрдп рд▓рд┐рдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдЬреЛ рдЖрдпрд╛рдд рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рдХрд░ рд╕рдХрддрд╛ рд╣реИ (рдЕрдЪрд╛рдирдХ, рдЬрд┐рд╕реЗ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ)ред

рдЕрдм рдЕрдЪреНрдЫреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ: рдореИрдВрдиреЗ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдПрдХ рдХрдХреНрд╖рд╛ рдореЗрдВ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛, рдХреБрдЫ рддрдп рдХрд┐рдпрд╛ рдФрд░ MySQL рд╕реЗ рдПрдХреНрд╕реЗрд▓ рдореЗрдВ рдирд┐рд░реНрдпрд╛рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЛ рдЬреЛрдбрд╝рд╛ред рдЖрдк рдЗрд╕реЗ рдпрд╣рд╛рдВ рд╕реЗ рдЙрдард╛ рд╕рдХрддреЗ рд╣реИрдВ ред

рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдЬрд╡рд╛рдм рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдореИрдВрдиреЗ рддрдп рдХрд┐рдпрд╛ рдХрд┐ рд▓реЗрдЦ рд╣реА рдЙрдЪрд┐рдд рд╣реЛрдЧрд╛ред

Source: https://habr.com/ru/post/In178089/


All Articles