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()方法真正执行。