php 如何导入.sql文件

下面来看看php 如何导入.sql文件的代码

<?php
if(!defined('WEBROOT')) {
 die('Access Denied!');
}
class dbsql {
 var $dblink = NULL;
 var $queryCount = 0;
 
 function dbconnect($dbserver, $dbuser, $dbpwd, $dbname = '', $pconnect = 0, $charset = 'utf8') {
  if($pconnect) {
   if(!$this->dblink = @mysql_pconnect($dbserver, $dbuser, $dbpwd)) {
    $this->msghalt('Can not connect to MySQL server');
   }
  } else {
   if(!$this->dblink = @mysql_connect($dbserver, $dbuser, $dbpwd)) {
    $this->msghalt('Can not connect to MySQL server');
   }
  }

  /* if($this->version() > '4.1') {
   global $charset, $dbcharset;
   if(!$dbcharset && in_array(strtolower($charset), array('gbk', 'big5', 'utf-8'))) {
    $dbcharset = str_replace('-', '', $charset);
   }

   if($dbcharset) {
    @mysql_query("SET character_set_connection=$dbcharset, character_set_results=$dbcharset, character_set_client=binary", $this->dblink);
   }

   if($this->version() > '5.0.1') {
    @mysql_query("SET sql_mode=''", $this->dblink);
   }
  } */
  
  @mysql_query('set names "utf8"');

  if($dbname) {
   if(!mysql_select_db($dbname, $this->dblink)) {
    $this->msghalt('Can not connect to MySQL server');
   }
  }
 }
 
 function select_db($dbname) {
  return @mysql_select_db($dbname, $this->dblink);
 }
 
 function query($sql = '') {
  if($sql) {
   if(!($query = mysql_query($sql,$this->dblink))) {
    $this->msghalt("MYSQL Query Error!n $sql");
   } else {
    $this->queryCount++;
    return $query;
   }
  } else {
   return false;
  }
 }
 
 function unb_query($sql = '') {
  if($sql) {
   if(!($query = mysql_unbuffered_query($sql,$this->dblink))) {
    $this->msghalt('MYSQL Query Error!<br />'.$sql.'<br />');
   } else {
    $this->queryCount++;
    return $query;
   }
  } else {
   return false;
  }
 }
 
 function fetch_array($query, $result_type = MYSQL_ASSOC) {
  return mysql_fetch_array($query, $result_type);
 }
 
 function fetch_one($sql) {
  return $this->fetch_array($this->query($sql));
 }
 
 function affected_rows() {
  return mysql_affected_rows($this->dblink);
 }
 
 function num_rows($query, $q = 1)
 {
  if($q == 1) {
   return mysql_num_rows($query);
  } else {
   return mysql_num_rows($this->query($query));
  }
  //return $query;
 }
 
 function result($query, $row) {
  $query = @mysql_result($query, $row);
  return $query;
 }
 
 function num_row($query) {//暂时没用
  return mysql_num_rows($query);
 }
 
 function free_result($query) {
  return mysql_free_result($query);
 }
 
 function insert_id() {
  return ($id = mysql_insert_id($this->dblink)) >= 0 ? $id : $this->result($this->query("SELECT last_insert_id()"));
 }
 
 function num_fields($query) {
  return mysql_num_fields($query);
 }
 
 function version() {
  return mysql_get_server_info($this->dblink);
 }
 
 function close() {
  return mysql_close($this->dblink);
 }
 
 function insert_data($tname, $data) {
  $values = '';
  $filed = implode(',', array_keys($data));
  $filednum = count($data) - 1;
  //echo $filednum;
  $i = 0;
  
  foreach($data as $key => $val) {
   $values .= "'".$val."'";
   if($i < $filednum) {
    $i++;
    $values .= ',';
   }
  }
  $sql = "INSERT INTO ".$tname." (".$filed.") VALUES(".$values.")";
  return $this->unb_query($sql);
 }
 
 function update_data($tname, $fid, $data, $whereid = 'id') {
  $col = array();
  foreach($data as $key => $values)
  {
   $col[] = $key."='".$values."'";
   
  }
  $sql = "UPDATE ".$tname." SET ".implode(',', $col)." WHERE $whereid='$fid'";
  return $this->unb_query($sql);
 }
 
 function error() {
  return (($this->dblink) ? mysql_error($this->dblink) : mysql_error());
 }
 
 function errno() {
  return intval(($this->dblink) ? mysql_errno($this->dblink) : mysql_errno());
 }
 
 function msghalt($msg = '') {
  $message = "<html>n<head>n";
  $message .= "<meta content="text/html; charset=utf-8" http-equiv="Content-Type">n";
  $message .= "<style type="text/css">n";
  $message .=  "body,p,pre {n";
  $message .=  "font:12px Verdana;n";
  $message .=  "}n";
  $message .=  "</style>n";
  $message .= "</head>n";
  $message .= "<body bgcolor="#FFFFFF" text="#000000" link="#006699" vlink="#5493B4">n";

  $message .= "<p>Datebase Error:</p><pre><b>".htmlspecialchars($msg)."</b></pre>n";
  $message .= "<b>Mysql error number</b>: ".$this->errno()."n<br />";
  $message .= "<b>Mysql error description</b>: ".htmlspecialchars($this->error())."n<br />";
  $message .= "<b>Date</b>: ".date("Y-m-d @ H:i")."n<br />";
  $message .= "<b>Script</b>: http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'] .'?'.$_SERVER['QUERY_STRING']."n<br />";

  $message .= "</body>n</html>";
  echo $message;
  exit;
 }
}

/**********************
$sb = new dbsql();
$sb->dbconnect('localhost','root','','fdwp');
echo 'fdfd';
****************************/
?>

时间: 2024-10-24 19:27:27

php 如何导入.sql文件的相关文章

Mysql导入.sql文件出错

问题描述 Mysql导入.sql文件出错 mysql导入sql文件时老是提示错误,请问各位高手该怎么解决? 解决方案 那最长的串右侧没有单引号 '注意用括起来' 解决方案二: 单引号要成双成对.一一对应. 否则,SQL语句可能会因为错误的单引号导致语法错误. 解决方案三: 中文字符串后面缺少单引号 解决方案四: sql文件格式有问题,估计引号什么的被中文字符串影响了

MySQL导入.sql文件及常用命令

MySQL导入.sql文件及常用命令 转自:http://blog.csdn.net/muziduoxi/article/details/6091202  在MySQL Qurey   Brower中直接导入*.sql脚本,是不能一次执行多条sql命令的,在mysql中执行sql文件的命令: mysql> source   d:/myprogram/database/db.sql; 另附mysql常用命令: 一) 连接MYSQL:     格式: mysql -h主机地址 -u用户名 -p用户密

mysql-Mysql导入.sql文件出错

问题描述 Mysql导入.sql文件出错 在CSDN下载了一个人事管理系统,用mysql 5.6导入项目的.sql文件出错,这该如何处理哦? 解决方案 导出的sql文件跟你的mysql版本不匹配. 解决方案二: 这是sql server的脚本,不是mysql的,而且中文字符也没有识别. 解决方案三: .sql是一个文本文件,一般是SQLServer保存的,MYsql可能无法识别 你可以用编辑一下这个文本文件,改成MYsql可以识别的格式 解决方案四: 刚才没细看,是认识管理系统的一部分的话,你看

如何批量导入sql文件到mysql

问题描述 如何批量导入sql文件到mysql 因为要恢复网站备份的数据,结果发现有很多sql文件,一个一个导入太麻烦了,phpmyadmin,navicate for mysql, mysql 的 source 命令一次就只能导入一个sql文件,网上有说建一个sql文件,在里面把要导入的sql文件名写进去再用source 命令导入,经测试没用的:有没有有其他方法 解决方案 将你的SQL脚本上传到服务器中,咋服务器中使用命令行方式执行,可以批量执行 解决方案二: 1.自己写一断PHP程序循环导入

mysql导入.sql文件的问题

问题描述 mysql导入.sql文件的问题 将一个.sql文件编辑,文本中最后加入下面这段代码(部分代码)后,导入这个sql文件就会报错(这段新加代码未能导入) 原因是什么?还有就是应该如何解决这个问题.多谢了! # # Function "fun_getChildList" # DROP FUNCTION IF EXISTS `fun_getChildList`; CREATE FUNCTION `fun_getChildList`(`type` int,`areaid` int,`

navicat直接导入sql文件失败

问题描述 navicat直接导入sql文件失败 navicat直接导入sql文件失败 提示错误 [Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 解决方案 试试将sqlyog直接导入sql文件 解决方案二: navicat如何导入sql文件外部的.sql文

mysql导入sql文件过大或连接超时的解决办法

原文:mysql导入sql文件过大或连接超时的解决办法      前段时间出差在现场开发的时候,导入数据库老是出问题.最后发现了一个神奇sql语句交给实施,只要导入出错就把如下语句执行就可以了.至今屡试不爽. set global max_allowed_packet=100 000 000; set global net_buffer_length=100000; SET GLOBAL interactive_timeout=28800 000; SET GLOBAL wait_timeout

PhpMyAdmin 导入sql文件失败的解决办法

php教程myadmin中无法导入sql文件的解决办法 我直接用phpmyadmin导入出现如下提示错误 warning: cannot modify header information - headers already sent by (output started at /usr/local/cpanel/base/3rdparty/phpmyadmin/export.php:190) in /usr/local/cpanel/base/3rdparty/phpmyadmin/libra

在CentOS中使用wget和source命令导入sql文件

在阿里云CentOS系统中,需要导入一个sql文件到数据库,使用wget下载sql文件,并使用source命令导入sql文件. ①首先,登陆数据库: [root@iZ94r80gdghZ tanteng.me]# mysql -u root -p Enter password: ②使用create database命令新建一个数据库: MariaDB [(none)]> create database testxx; Query OK, 1 row affected (0.00 sec) ③由于