php数据库实现 php数据库实例
如何实现PHP自动备份数据库
1.打开数据库备份页面
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名与空间、虚拟空间、营销软件、网站建设、大城网站维护、网站推广。
//php代码,导出数据库
public function exportSql() {
$dbName = C('DB_NAME'); //读取配置文件中的数据库用户名、密码、数据库名
$dbUser = C('DB_USER');
$dbPwd = C('DB_PWD');
$fileName = date("Y-m-d")."_".$dbName.".sql";
$dumpFileName = "./sql_backup/".$fileName;
exec("D:/xampp/mysql/bin/mysqldump -u$dbUser -p$dbPwd $dbName $dumpFileName");
}
2.php exec函数,执行外部程序命令
exec(“D:/xampp/mysql/bin/mysqldump -u$dbUser -p$dbPwd $dbName $dumpFileName”);
此处执行mysqldump命令,导出数据库到$dumpFileName中,“D:/xampp/mysql/bin/”为mysqldump所在位置,“-u$dbUser -p$dbPwd”数据库的用户名和密码(中间不要加空格),$dbName为要导出数据库的名字
PHP表单提交不同数据到数据库的不同表的不同字段怎么实现?
你可以用 PHP 的 MySQLi 或 PDO 库来实现。
首先,你需要使用这些库中的函数连接数据库,然后把表单中的字段值插入到相应的数据表中。
例如,如果你使用 MySQLi,你可以这样写:
$conn = mysqli_connect("hostname", "username", "password", "database_name");
$rwid = $_POST['rwid'];
$rwdj = $_POST['rwdj'];
$rwzb = $_POST['rwzb'];
$sql1 = "INSERT INTO table_a (s) VALUES ('$rwid')";
mysqli_query($conn, $sql1);
$sql2 = "INSERT INTO table_b (d) VALUES ('$rwdj')";
mysqli_query($conn, $sql2);
$sql3 = "INSERT INTO table_c (f) VALUES ('$rwzb')";
mysqli_query($conn, $sql3);
如果你使用 PDO,你可以这样写:
$conn = new PDO("mysql:host=hostname;dbname=database_name", "username", "password");
$rwid = $_POST['rwid'];
$rwdj = $_POST['rwdj'];
$rwzb = $_POST['rwzb'];
$stmt1 = $conn-prepare("INSERT INTO table_a (s) VALUES (:s)");
$stmt1-bindParam(':s', $rwid);
$stmt1-execute();
$stmt2 = $conn-prepare("INSERT INTO table_b (d) VALUES (:d)");
$stmt2-bindParam(':d', $rwdj);
$stmt2-execute();
$stmt3 = $conn-prepare("INSERT INTO table_c (f) VALUES (:f)");
$stmt3-bindParam(':f', $rwzb);
$stmt3-execute();
希望这个答案对你有帮助。
PHP如何实现一个高效的数据库
你做好程序以后,把数据库导出成sql文件
1、连接数据库
2、读取这个sql文件里的sql语句,并执行
3、生成一个数据库连接参数的php文件
?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
if (mysql_query("CREATE DATABASE my_db",$con))
{
echo "Database created";
}
else
{
echo "Error creating database: " . mysql_error();
}
mysql_close($con);
?
?php
class ReadSql {
//数据库连接
protected $connect = null;
//数据库对象
protected $db = null;
//sql文件
public $sqlFile = "";
//sql语句集
public $sqlArr = array();
public function __construct($host, $user, $pw, $db_name) {
$host = empty($host) ? C("DB_HOST") : $host;
$user = empty($user) ? C("DB_USER") : $user;
$pw = empty($pw) ? C("DB_PWD") : $pw;
$db_name = empty($db_name) ? C("DB_NAME") : $db_name;
//连接数据库
$this-connect = mysql_connect($host, $user, $pw) or die("Could not connect: " . mysql_error());
$this-db = mysql_select_db($db_name, $this-connect) or die("Yon can not select the table:" . mysql_error());
}
//导入sql文件
public function Import($url) {
$this-sqlFile = file_get_contents($url);
if (!$this-sqlFile) {
exit("打开文件错误");
} else {
$this-GetSqlArr();
if ($this-Runsql()) {
return true;
}
}
}
//获取sql语句数组
public function GetSqlArr() {
//去除注释
$str = $this-sqlFile;
$str = preg_replace('/--.*/i', '', $str);
$str = preg_replace('/\/\*.*\*\/(\;)?/i', '', $str);
//去除空格 创建数组
$str = explode(";\n", $str);
foreach ($str as $v) {
$v = trim($v);
if (empty($v)) {
continue;
} else {
$this-sqlArr[] = $v;
}
}
}
//执行sql文件
public function RunSql() {
foreach ($this-sqlArr as $k = $v) {
if (!mysql_query($v)) {
exit("sql语句错误:第" . $k . "行" . mysql_error());
}
}
return true;
}
}
//范例:
header("Content-type:text/html;charset=utf-8");
$sql = new ReadSql("localhost", "root", "", "log_db");
$rst = $sql-Import("./log_db.sql");
if ($rst) {
echo "Success!";
}
?
PHP利用pdo_odbc实现连接数据库示例【基于ThinkPHP5.1搭建的项目】
本文实例讲述了PHP利用pdo_odbc实现连接数据库。分享给大家供大家参考,具体如下:
目的:从sql
server数据库里面把某个视图文件调用出来,以键值对的方式显示在页面上。
利用pdo
odbc来实现PHP连接数据库:
在PHP配置文件里面开启pdo_odbc.dll服务。重启Apache服务器。
在ThinkPHP5.1的项目中在模块里添加config添加规定好的样式数据库:
代码如下:
?php
return
[
//
数据库类型
'type'
=
'sqlsrv',
//
服务器地址
'hostname'
=
'localhost',
//
数据库名
'database'
=
'mysql',
//
用户名
'username'
=
'sa',
//
密码
'password'
=
'123456',
//
端口
'hostport'
=
'',
//
连接dsn
'dsn'
=
'odbc:Driver={SQL
Server};Server=localhost;Database=mysql',
//
数据库连接参数
'params'
=
[],
//
数据库编码默认采用utf8
'charset'
=
'utf8',
//
数据库表前缀
'prefix'
=
'',
//
数据库调试模式
'debug'
=
true,
//
数据库部署方式:0
集中式(单一服务器),1
分布式(主从服务器)
'deploy'
=
0,
//
数据库读写是否分离
主从式有效
'rw_separate'
=
false,
//
读写分离后
主服务器数量
'master_num'
=
1,
//
指定从服务器序号
'slave_no'
=
'',
//
是否严格检查字段是否存在
'fields_strict'
=
true,
//
数据集返回类型
'resultset_type'
=
'array',
//
自动写入时间戳字段
'auto_timestamp'
=
false,
//
时间字段取出后的默认时间格式
'datetime_format'
=
'Y-m-d
H:i:s',
//
是否需要进行SQL性能分析
'sql_explain'
=
false,
//
Builder类
'builder'
=
'',
//
Query类
'query'
=
'\\think\\db\\Query',
//
是否需要断线重连
'break_reconnect'
=
false,
//
断线标识字符串
'break_match_str'
=
[],
];
?
在控制器controller里面建一个控制文件Test.php
代码如下:
?php
namespace
app\index\controller;
use
think\Db;
use
think\Controller;
class
Test
extends
Controller
{
public
function
zz(){
$data=Db::view('View_2')-select();
echo
json_encode($data);
}
}
?
最后调用入口文件即可访问。
我的效果:
[{"111":"123","1112":"LLP","232":"1","ROW_NUMBER":"1"},{"111":"123","1112":"BB","232":"2","ROW_NUMBER":"2"}]
更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend
FrameWork框架入门教程》及《PHP模板技术总结》。
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。
您可能感兴趣的文章:ThinkPHP实现多数据库连接的解决方法tp5(thinkPHP5)框架实现多数据库查询的方法ThinkPHP3.1新特性之多数据库操作更加完善tp5(thinkPHP5)框架连接数据库的方法示例PHP7使用ODBC连接SQL
Server2008
R2数据库示例【基于thinkPHP5.1框架】thinkPHP5实现的查询数据库并返回json数据实例tp5(thinkPHP5)操作mongoDB数据库的方法tp5(thinkPHP5)框架数据库Db增删改查常见操作总结thinkPHP5框架实现多数据库连接,跨数据连接查询操作示例
文章标题:php数据库实现 php数据库实例
本文路径:http://hbruida.cn/article/dohcjps.html