当前位置: 编程技术>php
本页文章导读:
▪在PHP中 使用mysqli扩展库对mysql 的操作 1、在PHP中 使用mysqli扩展库对mysql 的dql操作<?php header("Content-type: text/html;charset=utf-8"); //mysqli操作mysql数据库(面向对象方式) //1、创建MySQLi对象 $mysqli =new MySQLi("localhost","root","root","test".........
▪PHP mysqli 增强-批量执行sql 语句 mysqli 增强-批量执行sql 语句<?php //mysqli 增强-批量执行sql 语句 //批量执行dql //使用mysqli的mysqli::multi_query() 一次性添加3个用户 $mysqli =new MySQLi("localhost","root","root","test"); if($mysqli-.........
▪一个preg_replace()参数均为数组多次替换的实例理解 mixed preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] ) 是— 执行一个正则表达式的搜索和替换的用函数,平时我们用它时多是一次替.........
[1]在PHP中 使用mysqli扩展库对mysql 的操作
1、在PHP中 使用mysqli扩展库对mysql 的dql操作
<?php
header("Content-type: text/html;charset=utf-8");
//mysqli操作mysql数据库(面向对象方式)
//1、创建MySQLi对象
$mysqli =new MySQLi("localhost","root","root","test");
if($mysqli->connect_error){
die("连接失败".$mysqli->connect_error);
}
//2、操作数据库(发送sql)
$sql="select *from user1";
//3、处理结果
$res =$mysqli->query($sql);
//var_dump($res);
//fetch_assoc \fetch_array \fetch_object
while($row=$res->fetch_row()){
var_dump($row);
/* foreach($row as $val){
echo '--'.$val;
}
echo '<br/>';*/
}
//4、关闭资源
$res->free();
$mysqli->close();
?>
下面是面向过程的
<?php
header("Content-type: text/html;charset=utf-8");
$mysqli=mysqli_connect("localhost","root","root","test");
if(!$mysqli){
die("连接失败".mysqli_connect_error());
}
$sql="select *from user1";
$res=mysqli_query($mysqli,$sql);
//var_dump($res);
while($row=mysqli_fetch_row($res)){
foreach ($row as $val){
echo '-'.$val;
}
echo '<br/>';
}
//释放内存
mysqli_free_result($res);
mysqli_close($mysqli);
?>
2、在PHP中 使用mysqli扩展库对mysql 的dml操作
<?php
//使用mysqli 扩展库对mysql的crud 操作
header("Content-type: text/html;charset=utf-8");
$mysqli = new MySQLi("localhost","root","root","test");
if($mysqli->connect_error){
die("连接失败".$mysql->connect_error);
}
//增加一条记录
//$sql="insert into user1 (name,password,email,age) values ('lucy',md5('lucy'),'lucy@163.com',17)";
//删除一条记录
//$sql="delete from user1 where id =80";
//更新一条记录
$sql="update user1 set age=20 where id=7";
$res=$mysqli->query($sql);
if(!$res){
echo "操作失败".$mysqli->error;
}else{
if($mysqli->affected_rows>0){
echo "成功";
}else{
echo "没有行受影响";
}
}
//关闭资源
$mysqli->close();
?>
本文链接
[2]PHP mysqli 增强-批量执行sql 语句
mysqli 增强-批量执行sql 语句
<?php
//mysqli 增强-批量执行sql 语句
//批量执行dql
//使用mysqli的mysqli::multi_query() 一次性添加3个用户
$mysqli =new MySQLi("localhost","root","root","test");
if($mysqli->connect_error){
die ("连接失败".$mysqli->connect_error);
}
//注意分号
$sqls="insert into user1 (name,password,email,age) values('AAA',md5('AAA'),'AAA@hu.com',25);";
$sqls.="insert into user1 (name,password,email,age) values('BBB',md5('BBB'),'BBB@hu.com',25);";
$sqls.="insert into user1 (name,password,email,age) values('CCC',md5('CCC'),'CCC@hu.com',25);";
//批量执行dml 可以混合使用delete insert update 最好不要使用select
//$sqls.="update user1 set age=15 where id=1;";
//$sqls.="delete from user1 where id=10";
$res=$mysqli->multi_query($sqls);
if(!$res){
echo "操作失败".$mysqli->error;
}else{
echo "OK";
}
?>
本文链接
[3]一个preg_replace()参数均为数组多次替换的实例理解
mixed preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] )
是— 执行一个正则表达式的搜索和替换的用函数,平时我们用它时多是一次替换结束,今天又看php手册发现了一个较为难理解(自认为)的例子分享给大家。
1 <?php
2 $subject = array('1', 'a', '2', 'b', '3', 'A', 'B', '4');
3 $pattern = array('/\d/', '/[a-z]/', '/[1a]/');
4 $replace = array('A:$0', 'B:$0', 'C:$0');
5
6 echo "preg_replace returns\n<pre/>";
7 print_r(preg_replace($pattern, $replace, $subject));
8 ?>
结果如下:
咋一看,我就看晕了
一般 若匹配模式和替换内容这两项都是数组的话它们应该相对应,如果replacement中的元素比pattern中的少, 多出来的pattern使用空字符串进行替换.
$pattern就像个扫描器,扫到匹配的就用于之对应的$replace替换
对于上例替换过程如下
/\d/扫描$subject里的1,匹配了,匹配内容为$0(也就是1)就把1替换为A:1
然后用/[a-z]/扫描A:1不匹配,就不替换,继续用[1a]扫描A:1,匹配内容为1(也就是$0),就把A:1中1换为C:1
第一项最终被替换为A:C:1
简化过程
1->A:1->A:C:1
a->B:a->B:C:a
2->A:2
b->B:b
A(没有符合匹配的就不替换了)
B(同上)
4->A:4
总结一点,拿$pattern里的每一个模式依次去匹配$subject里的每一个元素,匹配到了就用与$pattern对应的那个$replace对换,如上例,可能不止一次替换
个人见解如有错误请网友指正!
本文链接
最新技术文章: