gpt4 book ai didi

php - 在没有第三方库的情况下在 Laravel 中备份 MySQL 表

转载 作者:行者123 更新时间:2023-11-29 02:11:32 25 4
gpt4 key购买 nike

我是 Laravel 新手。我一直在尝试创建一个 Controller ,以 backup_date_.sql 格式的形式备份表,而根本不使用任何第三方库,但我感到很沮丧。我进行了搜索并找到了一些代码示例。我尝试在我的 BackupsController 中使用它们,但事情变得越来越困难。非常感谢任何帮助。这是我的代码,提前致谢。

    <?php

public function query($data, $mode = \PDO::FETCH_ASSOC)
{
$pdo = DB::connection()->getPdo();
$stmt = $pdo->query($data);
$results = $stmt->fetchAll($mode);
// $results = $stmt->fetch($mode);
return $results;
}

public function backup(Request $request)
{


if ($request->all()) {

$output = '';

foreach (request('table') as $table) {

$show_table_query = $this->query("SHOW CREATE TABLE " . stripslashes($table) . "");


foreach ($show_table_query as $show_table_row)
{
array_shift($show_table_row);

$output .= implode(", ", $show_table_row);

}

$single_result = DB::select('select * from ' . stripslashes($table));


foreach ($single_result as $key => $value)
{
$value = array_map(function($obj) {
return (array) $obj;
}, $single_result);


$keys = array_keys($value[$key]);
$val = array_values($value[$key]);
$get_keys = array_shift($keys);
$get_values = array_shift($val);

$table_column = implode(",", $keys);
// $table_value ="'" . implode("','", $val) . "'\n";
$table_value ="'" . implode("','", $val) . "'";

$output .= DB::insert(
"INSERT INTO " . stripslashes($table) . "("
. $table_column . ") VALUES(" . $table_value . ")"
);

}
}
?>

最佳答案

写一个

命令 https://laravel.com/docs/5.6/artisan#writing-commands

使用 SSH mysqldump -uUSERNAME -p DATABASE > backup.sql

日程 https://laravel.com/docs/5.6/scheduling

完成:))

关于php - 在没有第三方库的情况下在 Laravel 中备份 MySQL 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51133772/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com