在PHP里执行SQL文件


如果你有一系列的SQL语句要执行 你可以把它存成 文本文件 e.g. *.SQL 然后登陆 mysql 控制端 执行 source 把这些命令执行了. 如果没有相应的权限 而可以写一小段PHP代码 并在URL里执行.

MySQL 在PHP里执行SQL文件 I.T. PHP是最好的语言 小技巧 折腾 运维

MySQL

把数据库的帐号写在一个PHP脚本里

1
2
3
4
5
// conn.php
define('DB_HOST', 'helloacm.com');
define('DB_USER', 'DB_USER';
define('DB_PASSWORD', 'DB_PASSWORD');
define('DB_NAME', 'DB_NAME');
// conn.php
define('DB_HOST', 'helloacm.com');
define('DB_USER', 'DB_USER';
define('DB_PASSWORD', 'DB_PASSWORD');
define('DB_NAME', 'DB_NAME');

然后另一PHP就声明了一个 ExecSqlFile 函数 把给定的文件读进来每一行执行SQL语句

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
  require('conn.php');
  mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
  mysql_query("SET NAMES utf8");
  mysql_select_db(DB_NAME);
  function ExecSqlFile($filename) {
    if (!file_exists($filename)) {
      return false;
    }
    $querys = explode("\n", file_get_contents($filename));
    foreach ($querys as $q) {
      $q = trim($q);
      if (strlen($q)) {
        mysql_query($q) or die(mysql_error());
      }      
    }
    return true;
  }
  $filename = "sql.txt";  替换
  ExecSqlFile($filename)
  require('conn.php');
  mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
  mysql_query("SET NAMES utf8");
  mysql_select_db(DB_NAME);
  function ExecSqlFile($filename) {
    if (!file_exists($filename)) {
      return false;
    }
    $querys = explode("\n", file_get_contents($filename));
    foreach ($querys as $q) {
      $q = trim($q);
      if (strlen($q)) {
        mysql_query($q) or die(mysql_error());
      }      
    }
    return true;
  }
  $filename = "sql.txt";  替换
  ExecSqlFile($filename)

然后有了这个PHP文件就可以 很方便的指定 crontab 文件用来定期定时执行.

英文: 在PHP里执行SQL文件

GD Star Rating
loading...
本文一共 143 个汉字, 你数一下对不对.
在PHP里执行SQL文件. (AMP 移动加速版本)
上一篇: CLOUDFLARE 高安全阻止可疑的URL
下一篇: C++ 使用 Parallel For 多线程 计算 圆周率 - Monte Carlo

扫描二维码,分享本文到微信朋友圈
e875dd24dc708bba6bb13fdedf6963f2 在PHP里执行SQL文件 I.T. PHP是最好的语言 小技巧 折腾 运维

一条回应

评论