导航:首页 > 编程语言 > php数据库开发教程

php数据库开发教程

发布时间:2025-09-26 05:39:23

1. 如何实现php自动创建数据库

你做好程序以后,把数据库导出成sql文件
1、连接数据库
2、读取这个sql文件里的sql语句,并执行
3、生成一个数据库连接参数的php文件
<?php
$con=mysql_connect("localhost","peter","abc123");
if(!$con)
{
die('Couldnotconnect:'.mysql_error());
}

if(mysql_query("CREATEDATABASEmy_db",$con))
{
echo"Databasecreated";
}
else
{
echo"Errorcreatingdatabase:".mysql_error();
}

mysql_close($con);
?>

<?php
classReadSql{
//数据库连接
protected$connect=null;
//数据库对象
protected$db=null;
//sql文件
public$sqlFile="";
//sql语句集
public$sqlArr=array();
publicfunction__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)ordie("Couldnotconnect:".mysql_error());
$this->db=mysql_select_db($db_name,$this->connect)ordie("Yoncannotselectthetable:".mysql_error());
}
//导入sql文件
publicfunctionImport($url){
$this->sqlFile=file_get_contents($url);
if(!$this->sqlFile){
exit("打开文件错误");
}else{
$this->GetSqlArr();
if($this->Runsql()){
returntrue;
}
}
}
//获取sql语句数组
publicfunctionGetSqlArr(){
//去除注释
$str=$this->sqlFile;
$str=preg_replace('/--.*/i','',$str);
$str=preg_replace('//*.**/(;)?/i','',$str);
//去除空格创建数组
$str=explode("; ",$str);
foreach($stras$v){
$v=trim($v);
if(empty($v)){
continue;
}else{
$this->sqlArr[]=$v;
}
}
}
//执行sql文件
publicfunctionRunSql(){
foreach($this->sqlArras$k=>$v){
if(!mysql_query($v)){
exit("sql语句错误:第".$k."行".mysql_error());
}
}
returntrue;
}
}
//范例:
header("Content-type:text/html;charset=utf-8");
$sql=newReadSql("localhost","root","","log_db");
$rst=$sql->Import("./log_db.sql");
if($rst){
echo"Success!";
}
?>

2. php mysql怎么创建数据库图解

在一个服务器上一般来讲都不止一个站点,更不止一个MySQL(和PHP搭配之最佳组合)数据库。

为了防止安全隐患,我们一般针对每个数据库都设置了独立的数据库访问帐号,该帐号仅有访问该数据库的权限。下面就让我们来具体演示一下:
1、首先我们要登陆php(做为现在的主流开发语言)MyAdmin,不做演示。

4、在主界面的右边点击“权限”来创建数据库帐号。


5、在权限页面中,我们点击“添加新用户”

6、在该页面中,我们填写要创建的数据库用户名,该用户的访问范围,及密码。

如上图,我们填写了用户名为:cncmsuser,该数据库用户只允许本机访问,主机一项选择本地;密码我们使用自动生成的,点下面的“Generate”会生成一个随机密码,然后点“Copy”会自动填写到密码框中。
下面的框都不选,直接拉到页面最下面点执行即可创建一个新用户。
数据库用户创建成功,会返回如下页面:

7、最重要的一步,设置该用户的数据库访问权限
在数据库用户添加成功返回的页面中可以直接设置权限。这里我们选择按数据库指定权限:

如上图,在数据库列表中选择我们刚刚创建的cncmstest,即会自动进入该数据库的权限设置页面。

在上图的权限设置中,我们把“数据”、“结构”两列的权限全部选中,管理权限都不要选。点执行即可。

到这里,我们已经全部设置完毕了,创建了一个数据库:cncmstest,并创建了数据库用户cncmsuser,特别指定了该用户只对cncmstest的访问权限。如此,便达到了我们一开始所讲的目的:为每一个数据库指定独立的用户访问权限。

3. php手把手教你做网站(二十九)thinkphp6部署多个数据库

前边介绍了负载均衡,mysql同步,接下来介绍tp6分布式部署多个数据库,实现读写分离。

tp6的分布式部署读和写仍然是一个系统,这里我们分开操作,给用户展示的就是从数据库,后端添加文章就是主库,然后同步到从库。

1、配置数据库链接参数

目标:实现随机使用数据库展示信息,只是读操作。

测试:前台可以读取表中内容(存放的不一致),查看是否是随机显示的。

打开.env文件进行编辑

说明:

2、编辑database.php

找到deploy设置为1分布式部署,下边不要改,都是读,写入的也就是后端的我们单独建站连接主库。

配置完成,tp6使用的是mt_rand取随机数判断使用哪个数据库。

3、数据库交互写操作

比如浏览量没必要每次都去更新数据库,可以先使用redis缓存,存够1000的整数倍,再去更新数据库。

4、后台独立,也就是写

可以前后端分离,单独做一个网站(没有前端)使用ip访问或者独立的域名连接后台。

5、上传附件(jquery ajax跨域上传)

使用了nginx负载均衡,肯定是多个一样的网站,如果图片存放到一个站,别的就不能访问了,可以单独设置一个附件(压缩包,图片等)服务器,可以使用二级域名连接,这就要求我们上传附件的时候,是上传到附件服务器。

jqueryURL

API控制器apdpic方法

说明:

也可以先传到后台服务器然后使用(php)ftp上传,或者是通过curl上传到附件服务器,感觉那样毕竟麻烦,直接设置跨域会比较简单。

也测试了使用jsonp跨域,但是不能上传附件。

6、thinkphp6实现读写分离(在一个站点)

我个人是不喜欢这样的,负载均衡应该是均衡地读,也就是前台单独一个站点,后端的写是另一个独立的站点,看个人喜好吧。

独立后台的优点:可以提升安全性,因为我们的后台网址是不公开的,避免用户猜测一些后台的信息。

.env配置按照1所述编辑,默认第一个是主库。

database.php

愿大家在新的一年心想事成,万事如意!!!

阅读全文

与php数据库开发教程相关的资料

热点内容
使用单片机开发程序 浏览:437
android圆角布局 浏览:843
bluestacks安卓模拟器是什么 浏览:475
python能做什么有趣的 浏览:121
如何用模拟器调安卓版本 浏览:396
相册视频加密后如何恢复 浏览:135
linuxjdk解压 浏览:700
医学微生物pdf 浏览:625
限制解压速率 浏览:860
正版csgo单机命令 浏览:989
民国审计厅编译处是干嘛的 浏览:104
dev编译日志怎么看 浏览:183
混凝土梁弯箍筋加密区 浏览:459
androidhttps框架 浏览:913
python爬虫批量爬取 浏览:229
手机快速浏览解压图片 浏览:932
怎么把压缩文件通过手机存到优盘 浏览:924
网络追踪命令 浏览:288
android开发蓝牙 浏览:556
php数据库开发教程 浏览:138