当前位置:首页 » 操作系统 » php数据库对象

php数据库对象

发布时间: 2025-02-27 02:32:52

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. pdo是什么意思

pdo是什么意思介绍如下:

相关信息:

PDO 提供了一个数据访问抽象层,这意味着,不管使用哪种数据库,都可以用相同的函数(方法)来查询和获取数据。 PDO不提供数据库抽象层;它不会重写 SQL,也不会模拟缺失的特性。如果需要的话,应该使用一个成熟的抽象层。

从 PHP 5.1开始附带了 PDO,在 PHP 5.0 中是作为一个 PECL 扩展使用。 PDO 需要PHP 5核心的新OO特性,因此不能在较早版本的 PHP 上运行。

3. php怎么从数据库取值

$urls = "192.168.0.128";//你的主机地址(一般是localhost)
$user = "root";//数据库用户名
$password = "111111";//数据库密码
$con = mysqli_connect($urls,$user,$password);//mysql数据库连接
mysqli_select_db($con,"le_test");//第二个参数为数据库名称
mysqli_query($con,"select click_num from fstk__click where id>0");//查询所有click_num
mysqli_close($con);//关闭连接

4. php连接数据库关于PDO类和PDOStatement类的区别是什么

这代表两个不同的对象,看一下PDO::query()的定义:

public PDOStatement PDO::query ( string $statement )

可以知道query返回的结果是PDOStatement实例对象,那么你至少可以知道PDOStatement可以用来操作结果集了。

看一下PDOStatement类有哪些方法:

http://php.net/manual/zh/class.pdostatement.php

发现有fetch,fetchAll等熟悉的功能,不是么?

然后再来看看PDO::prepare()方法

public PDOStatement PDO::prepare ( string $statement [, array $driver_options = array() ] )

它也是返回的PDOStatement,按照手册的说法,PDOStatement代表一条预处理语句,并在该语句被执行后代表一个相关的结果集。

也就是说,如果你通过PDO::query()直接查询,那么返回的PDOStatement就表示一个结果集。

如果你通过PDO::prepare()查询,实际上并未执行sql,而是得到一个预处理语句(PDOStatement),然后你调用PDOStatement::execute()方法真正执行。

热点内容
oppor9密码忘了怎么样解锁 发布:2025-02-27 05:44:26 浏览:686
C加密java 发布:2025-02-27 05:12:11 浏览:206
数据库加密怎么打开 发布:2025-02-27 05:12:11 浏览:121
计算机网络中FTP的中文名称 发布:2025-02-27 05:06:11 浏览:497
php压缩文件夹 发布:2025-02-27 05:03:47 浏览:616
python爬虫假死 发布:2025-02-27 05:02:23 浏览:128
电信配置入口怎么退回不了 发布:2025-02-27 04:31:44 浏览:317
变量的存储类型可分为什么两种 发布:2025-02-27 04:29:01 浏览:654
phpfpm长连接 发布:2025-02-27 04:04:40 浏览:290
主播用什么服务器讲话 发布:2025-02-27 04:04:06 浏览:121