php mysql 写法_php PDO mysql写法

写法一:

$db="mysql:host=localhost;dbname=sql" ; //连接数据,地址localhost;数据库名称sql;

$username="root"; //数据库登录账号;

$password="root"; //数据库登录密码;

try{

$pdo=new PDO($db,$username,$password);   //连接数据库赋值$pdo;

}catch(PDOException $e){

echo "PDO连接失败".$e->getMessage();

}

写法二:

$db=new PDO("mysql:host=localhost;dbname=sql","root","root");  //连接数据,地址localhost;数据库名称sql;数据库登录账号密码; 连接赋值$db

PDO增删查改

事例一:

$dbh = new PDO(‘mysql:host=localhost;dbname=access_control‘, ‘root‘, ‘‘);

$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$dbh->exec(‘set names utf8‘);

/*添加*/

//$sql = "INSERT INTO `user` SET `login`=:login AND `password`=:password";

$sql = "INSERT INTO `user` (`login` ,`password`)VALUES (:login, :password)";  $stmt = $dbh->prepare($sql);  $stmt->execute(array(‘:login‘=>‘kevin2‘,‘:password‘=>‘‘));

echo $dbh->lastinsertid();

/*修改*/

$sql = "UPDATE `user` SET `password`=:password WHERE `user_id`=:userId";

$stmt = $dbh->prepare($sql);

$stmt->execute(array(‘:userId‘=>‘7‘, ‘:password‘=>‘4607e782c4d86fd5364d7e4508bb10d9‘));

echo $stmt->rowCount();

/*删除*/

$sql = "DELETE FROM `user` WHERE `login` LIKE ‘kevin_‘"; //kevin%

$stmt = $dbh->prepare($sql);

$stmt->execute();

echo $stmt->rowCount();

/*查询*/

$login = ‘kevin%‘;

$sql = "SELECT * FROM `user` WHERE `login` LIKE :login";

$stmt = $dbh->prepare($sql);

$stmt->execute(array(‘:login‘=>$login));

while($row = $stmt->fetch(PDO::FETCH_ASSOC)){

print_r($row);

}

print_r( $stmt->fetchAll(PDO::FETCH_ASSOC));

?>

事例二:

header("content-type:text/html;charset=utf-8");

$dsn="mysql:dbname=test;host=localhost";

$db_user=‘root‘;

$db_pass=‘admin123‘;

try{

$pdo=new PDO($dsn,$db_user,$db_pass);

}catch(PDOException$e){

echo ‘数据库连接失败‘.$e->getMessage();

}

//新增

$sql="insert into test (id,user) values (1,‘phpthinking‘)";

$res=$pdo->exec($sql);

echo ‘影响行数:‘.$res;

//修改

$sql="update test set user=‘phpthinking‘ where id=1";

$res=$pdo->exec($sql);

echo ‘影响行数:‘.$res;

//查询

$sql="select * from test";

$res=$pdo->query($sql);

foreach($res as $row){

echo $row[‘user‘].‘
‘;

}

//删除

$sql="delete from test where id=1";

$res=$pdo->exec($sql);

echo ‘影响行数:‘.$res;

?>

PDO语句说明

$pdo=new PDO("mysql:dbname=test;host=127.0.0.1;port=3306","root","php");

$pdo=new PDO("mysql:dbname=数据库;host=127.0.0.1;port=3306","root","php",array(PDO::ATTR_PERSISTENT=>true));

$pdo->setAttribute(PDO::ATTR_PERSISTENT,true);//设置数据库连接为持久连接

$pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);//设置抛出错误

$pdo->setAttribute(PDO::ATTR_ORACLE_NULLS,true);//设置当字符串为空转换为SQL的NULL

$pdo->setAttribute(PDO::ATTR_CASE,PDO::CASE_UPPER);//表字段字符的大小写转换或原样使用列信息

$pdo->query("SET NAMES utf8");//设置数据库编码

$pdo->query(sql语句);//返回PDOStatement对象,一般用于select

$pdo->exec(sql语句);//返回受影响行数,一般用于insert|update|delete

$sm=$pdo->query();

$sm->rowCount()//返回记录数

$pdo=null;//释放资源

while($data=$sm->fetch()){print_r($data);}//只会返回一条数据

$sm->setFetchMode(PDO::FETCH_ASSOC);//只返回关联索引

$data=$sm->fetchAll();//返回所有数据

$sm=$pdo->prepare(sql语句);

$sm->execute();

$data=$sm->fetchColumn();//一般用来进行count统计

将列分发到变量

$sm->bindColumn(数字,变量);

$sm->bindColumn(字段名,变量);

while($data=$sm->fetch(PDO::FETCH_BOUND)){}

替换变量

$sm=$pdo->prepare(":占位变量");

$sm->bindParam(":占位变量",值,PDO::PARAM_INT);

$sm->bindParam(":占位变量",值,PDO::PARAM_STR,12);

$sm->execute();

替换问号占位符

$sm=$pdo->prepare("?");

$sm->bindValue(1,值,PDO::PARAM_INT);//第1个问号

$sm->bindValue(2,值,PDO::PARAM_STR,12);//第2个问号

$sm->execute();

方法

PDO::query()//处理一条SQL语句并返回一个PDOStatement对象

PDO::lastInsertId()//获取插入到表中的最后一条数据的主键值

PDO::prepare()//负责准备执行的SQL语句

PDO::exec()//处理一条SQL语句并返回所影响的行数

PDO::beginTransaction//开始一个事务并标明回滚起始点

PDO::commit//提交一个事务并执行SQL语句

PDO::__construct//构造函数

PDO::errorCode//获取错误码

PDO::errorInfo//获取错误信息

PDO::getAttribute//获取一个数据库连接对象的属性

PDO::getAvailableDrivers//获取有效的PDO驱动器名称

PDO::inTransaction

PDO::quote//为某个SQL语句中的字符串添加引号

PDO::rollBack//回滚一个事务

PDO::setAttribute//为一个数据库连接对象设定属性

PDOStatement::bindColumn//将列分发到变量

PDOStatement::bindParam//替换变量

PDOStatement::bindValue//替换问号占位符

PDOStatement::closeCursor//关闭光标

PDOStatement::columnCount//字段数

PDOStatement::debugDumpParams

PDOStatement::errorCode//获取错误码

PDOStatement::errorInfo//获取错误信息

PDOStatement::execute//执行语句

PDOStatement::fetch//只会返回一条数据

PDOStatement::fetchAll//返回所有数据

PDOStatement::fetchColumn//一般用来进行count统计

PDOStatement::fetchObject

PDOStatement::getAttribute

PDOStatement::getColumnMeta

PDOStatement::nextRowset

PDOStatement::rowCount//记录数

PDOStatement::setAttribute

PDOStatement::setFetchMode

常量

PDO::ATTR_AUTOCOMMIT//是否开启自动提交功能true|false

PDO::ATTR_PREFETCH//设置应用程序提前获取的数据大小[千字节为单位]

PDO::ATTR_TIMEOUT//设置超时之前的等待时间[秒为单位]

PDO::ATTR_SERVER_INFO//包含与数据库特有的服务器信息

PDO::ATTR_SERVER_VERSION//包含与数据库服务器版本号有关的信息

PDO::ATTR_CLIENT_VERSION//包含与数据库客户端版本号有关的信息

PDO::ATTR_CONNECTION_STATUS//设置超时之前的等待时间[秒为单位]

PDO::CASE_LOWER//强制列名是小写

PDO::CASE_UPPER//强制列名为大写

PDO::CASE_NATURAL//列名按照原始的方式

PDO::FETCH_ASSOC//关联数组形式

PDO::FETCH_NUM//数字索引数组形式

PDO::FETCH_BOTH//两者数组形式都有

PDO::FETCH_OBJ//按照对象的形式

?>

//注释:

当异常被触发时,通常会发生:在PHP5中添加了类似于其它语言的错误异常处理模块。在 PHP代码中所产生的异常可被 throw语句抛出并被 catch 语句捕获。需要进行异常处理的代码都必须放入 try 代码块内,以便捕获可能存在的异常。每一个 try 至少要有一个与之对应的 catch。

使用多个 catch 可以捕获不同的类所产生的异常,当 try 代码块不再抛出异常或者找不到 catch 能匹配所抛出的异常时,PHP 代码就会在跳转到最后一个 catch 的后面继续执行。当然,PHP 允许在 catch 代码块内再次抛出(throw)异常,当一个异常被抛出时,其后(译者注:指抛出异常时所在的代码块)的代码将不会继续执行,而 PHP 就会尝试查找第一个能与之匹配的 catch,如果一个异常没有被捕获,而且又没用使用 set_exception_handler() 作相应的处理的话,那么 PHP 将会产生一个严重的错误,并且输出 Uncaught Exception ... (未捕获异常)的提示信息.

详细:

http://www.jb51.net/article/61316.htm

http://www.jb51.net/article/59692.htm

http://www.jb51.net/article/61317.htm

?>

php PDO mysql写法

标签:led   dex   upd   port   username   键值   查询   大小写   版本

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:http://www.cnblogs.com/fan-bk/p/7270783.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值