php mysql 驱动查询_php 连接mysql(查询 增删改)

本文详细介绍了使用PHP连接MySQL数据库的两种方法(mysqli和PDO),包括参数绑定、事务管理,并展示了如何执行查询、插入、删除和更新操作。涵盖了数据库连接、SQL语句、参数化查询以及事务控制的关键知识点。
摘要由CSDN通过智能技术生成

1、连接数据库方法:

//方法1

$mysqli = new mysqli("localhost", "root", "root", "easyadmin");

if (!$mysqli) {

echo "database error";

} else {

echo "php env successful";

}

$mysqli->close();

//方法2

try {

$dbh = new PDO('mysql:host=localhost;dbname=easyadmin', 'root', 'root', array(PDO::ATTR_PERSISTENT => true)); //持久性连接

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

$dbh->exec('SET CHARACTER SET utf8');

echo "连接成功";

echo "
";

/* 1.断开连接*/

//$dbh = null;

$name = 'kevin2%';

/* 2.查询:sql语句中user与name不能是单引号‘’,是左上角的波浪线~,sql语句以外的可以是单引号,否则查询语句会报错*/

$sql = "select * from `user` where `name` like :name";

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

$stmt->execute(array(':name' => $name));

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

print_r($row);

echo("
");

}

// /*3.添加*/

// $sql = "INSERT INTO `user` (`name` ,`password`)VALUES (:name, :password)";

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

// $stmt->execute(array(':name' => 'kevin2', ':password' => '123459'));

// echo $dbh->lastInsertId();

/*4.删除*/

$name = "zj";

$sql = "delete from `user` where `name` like :name";

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

$stmt->execute(array(':name' => $name));

echo $stmt->rowCount();

/*5.修改*/

$id = 3;

$sql = "update `user` set `password`=:password where `id`=:id ";

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

$stmt->execute(array(':id' => $id, ':password' => 'testabc'));

echo "Update:" . $stmt->rowCount();

} catch (PDOException $ex) {

print"Error!:" . $ex->getMessage() . "
";

die();

}

?>

2.参数绑定

举例:

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

$stmt->bindParam(':country', $country, PDO::PARAM_STR);

$stmt->execute();

5eaa933bcc633cc5d1087ebe5d5e57e7.png

3.事务

try {

$dbh = new PDO('mysql:host=localhost;dbname=test', 'root', 'root');

$dbh->query('set names utf8;');

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

$dbh->beginTransaction();

$dbh->exec("Insert INTO `test`.`table` (`name` ,`age`)VALUES ('mick', 22);");

$dbh->exec("Insert INTO `test`.`table` (`name` ,`age`)VALUES ('lily', 29);");

$dbh->exec("Insert INTO `test`.`table` (`name` ,`age`)VALUES ('susan', 21);");

$dbh->commit();

} catch (Exception $e) {

$dbh->rollBack();

echo "Failed: " . $e->getMessage();

}

4.foreach语句

$dbh->query($sql); 当$sql 中变量可以用$dbh->quote($params); //转义字符串的数据

$sql = 'Select * from city where CountryCode ='.$dbh->quote($country);  //引用

foreach ($dbh->query($sql)as $row)   {

print $row['Name'] . "/t";

print $row['CountryCode'] . "/t";

print $row['Population'] . "/n";

}

?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值