20211010 PHP笔记

20211010 PHP笔记

文章目录

  • 20211010 PHP笔记
  • 前言
  • 一、mysqli_real_query()
  • 二、mysqli_multi_query()
  • 三、mysqli_free_result();
  • 四、mysqli_fetch_all()
  • 五、fopen();
  • 六、flock()
  • 七、fwrite()
  • 八、fclose()
  • 七、fread();
  • 八、unset()
  • 九、isset()
  • 十、file_get_contents()
  • 十一、file_put_contents()
  • 十二、explode()
  • 十三、implode()
  • 十四、点等号".="
  • 总结


前言


一、mysqli_real_query()

在数据库中执行一次SQL查询,受查询的字符需要事先经过转义处理;


二、mysqli_multi_query()

公式:

mysqli_multi_query( 使用的数据库连接, 需要执行的SQL语句);

既然使用了这个方法,那么必然是有多条SQL语句需要被执行,但这个方法看起来又只能传两个参数,这…?
可以选择累加的方法, 在一个变量上累加多条SQL语句,使用分号隔开:
例:

$sql = "SELECT Lastname FROM Persons ORDER BY LastName;";
$sql .= "SELECT Country FROM Customers";

这些SQL语句会被逐条执行,还是要注意一下执行顺序的;

如果第一条命令执行正常,那么该方法将返回一个true(否则返回false),对于第一条命令返回的结果,必须使用mysqli_store_results()或mysqli_use_result()来进行接收:
mysqli_store_results()将全部命令的执行结果直接取回客户端, 效率更高;

do {
     
    if($result=mysqli_store_result($link)) {
     
        $data[$i]=mysqli_fetch_all($result);   
        //从结果中取得所有数据并以关联数组的形式存储;
        mysqli_free_result($result);  
        //取得$result后释放其所占内存;
    }else{
     
        $data[$i]=null;
    }
        $i++;
    if(!mysqli_more_result($link)) break;
}while (mysqli_next_results($link));

三、mysqli_free_result();

释放变量占用的内存
公式:

mysqli_free_result(变量名);

四、mysqli_fetch_all()

从变量中取得所有数据并以关联数组的形式存储;
公式:

mysqli_fetch_all()

例:

//这是在接收mysqli_multi_query()的结果,外面包着的循环略;
$data[$i]=mysqli_fetch_all($result);

五、fopen();

fopen打开某个路径对应的文件,依据 [需要指针由文档何处开始] 来选定访问模式;

mode 说明
r 只读,将文件指针指向文件头.
r+ 可读写,余同r
w 可写入,将文件指针指向文件头并将文件大小截为零。如果文件不存在则创建之.
w+ 可读写,余同w
a 可写入,将文件指针指向文件末尾, 如果文件不存在则创建之.
a+ 可读写,余同a
$file = fopen( './存储至文件', 访问模式 );

六、flock()

独占锁定
同一时刻只有一个单独的用户在操作文件,这样是没有问题的。但是如果两个或者更多用户同时操作同一文件的话,程序就会出现错误。解决这种问题的方法就是,在使用 PHP 向文件中写入时,暂时锁定该文件.
改变当前文件的锁定状态,flock执行完毕返回布尔值:

mode 说明
LOCK_SH 取得共享锁定(读取的程序)
LOCK_EX 取得独占锁定(写入的程序)
LOCK_UN 释放锁定(无论共享或独占)
if ( flock( $file, LOCK_EX ) ) {
        

使用了 flock() 函数对文件进行了加锁操作,那么调用 fclose() 函数时,文件会自动解锁,但最好还是在文件写入完成后加上解锁语句


七、fwrite()

拿到独占锁定和写入权限后, fwrite() 将string内容自文件指针处写入.
用于向文件写入字符串,成功返回写入的字符数,否则返回 FALSE
公式:

$result_int = fwrite(文件名, 一个字符串);  

八、fclose()

fopen()打开文件,操作完之后总还是要关闭文件的;
公式:

fclose(文件路径) 

七、fread();

读取一个文件
公式:

fread(一个已经被fopen打开的文件, 要读取的字节数);

例:

while(!feof($file)) {
        //在文字指针到达文件末尾之前循环遍历;
    $con .= fread($file, 1);   //读取文件,每次读取一个字节;
}

八、unset()

销毁一个已经给定的变量;
公式:

unset(变量名);

例:

//销毁数组arr中第4个元素;
unset($arr[3]);

九、isset()

检查一个变量是否已设置并且非 NULL.
公式:

isset(变量名);

例:

isset($_GET['key'])

十、file_get_contents()

获取某个文件中的所有内容,
公式:

file_get_contents('文件路径');

例:

$str = file_get_contents('mysql.txt');

十一、file_put_contents()

把一个字符串写入文件中;
公式:

file_put_contents('文件路径', 要写入的字符串, 模式(可选))

十二、explode()

将字符串以某个字符为界割裂成一段段,并且做成一个数组返回:
完成后可以通过选取数组元素的方法:arr[?],来选取某段割出的数组元素,选出来的是字符串或者数字;
公式:

explode(分割标志, 字符串);

//比如以"@_@"这段字符作为分割标记;
$str=我@_@不@_@知@_@道
explode('@_@', $str);

十三、implode()

用某个/段字符作为连接再次将数组合并为字符串, 完成后返回字符串:

$arr = ["我", "不", "知", "道":]
$strs = implode('@_@', $arr); 
var_dump($strs);  //我@_@不@_@知@_@道;

十四、点等号".="

基本相当于JS中的累加号,可以拼接字符串和数字, 对, 对于数字型也只能是进行拼接:

$a = 1;
$b = 3;
$c = 2;

$c .= $a; 
$c .= $c;
echo $c;

20211010 PHP笔记_第1张图片

总结

_

你可能感兴趣的:(php,数据库,sql)