20211010 PHP笔记
@TOC
前言
一、mysqli_real_query()
在数据库中执行一次SQL查询,受查询的字符需要事先经过转义处理;
二、mysqli_multi_query()
公式:
1 | mysqli_multi_query( 使用的数据库连接, 需要执行的SQL语句); |
既然使用了这个方法,那么必然是有多条SQL语句需要被执行,但这个方法看起来又只能传两个参数,这…?
可以选择累加的方法, 在一个变量上累加多条SQL语句,使用分号隔开:
例:
1 | $sql = "SELECT Lastname FROM Persons ORDER BY LastName;"; |
这些SQL语句会被逐条执行,还是要注意一下执行顺序的;
如果第一条命令执行正常,那么该方法将返回一个true(否则返回false),对于第一条命令返回的结果,必须使用mysqli_store_results()或mysqli_use_result()来进行接收:
mysqli_store_results()将全部命令的执行结果直接取回客户端, 效率更高;
1 | do { |
三、mysqli_free_result();
释放变量占用的内存
公式:
1 | mysqli_free_result(变量名); |
四、mysqli_fetch_all()
从变量中取得所有数据并以关联数组的形式存储;
公式:
1 | mysqli_fetch_all() |
例:
1 | //这是在接收mysqli_multi_query()的结果,外面包着的循环略; |
五、fopen();
fopen打开某个路径对应的文件,依据 [需要指针由文档何处开始] 来选定访问模式;
| mode | 说明 |
|–|–|
| r | 只读,将文件指针指向文件头. |
| r+ | 可读写,余同r |
| w | 可写入,将文件指针指向文件头并将文件大小截为零。如果文件不存在则创建之. |
| w+ | 可读写,余同w |
| a | 可写入,将文件指针指向文件末尾, 如果文件不存在则创建之. |
| a+ | 可读写,余同a|
1 | $file = fopen( './存储至文件', 访问模式 ); |
六、flock()
独占锁定
同一时刻只有一个单独的用户在操作文件,这样是没有问题的。但是如果两个或者更多用户同时操作同一文件的话,程序就会出现错误。解决这种问题的方法就是,在使用 PHP 向文件中写入时,暂时锁定该文件.
改变当前文件的锁定状态,flock执行完毕返回布尔值:
| mode | 说明 |
|–|–|
| LOCK_SH | 取得共享锁定(读取的程序) |
| LOCK_EX | 取得独占锁定(写入的程序) |
| LOCK_UN | 释放锁定(无论共享或独占) |
1 | if ( flock( $file, LOCK_EX ) ) { |
使用了 flock() 函数对文件进行了加锁操作,那么调用 fclose() 函数时,文件会自动解锁,但最好还是在文件写入完成后加上解锁语句
七、fwrite()
拿到独占锁定和写入权限后, fwrite() 将string内容自文件指针处写入.
用于向文件写入字符串,成功返回写入的字符数,否则返回 FALSE
公式:
1 | $result_int = fwrite(文件名, 一个字符串); |
八、fclose()
fopen()打开文件,操作完之后总还是要关闭文件的;
公式:
1 | fclose(文件路径) |
七、fread();
读取一个文件
公式:
1 | fread(一个已经被fopen打开的文件, 要读取的字节数); |
例:
1 | while(!feof($file)) { //在文字指针到达文件末尾之前循环遍历; |
八、unset()
销毁一个已经给定的变量;
公式:
1 | unset(变量名); |
例:
1 | //销毁数组arr中第4个元素; |
九、isset()
检查一个变量是否已设置并且非 NULL.
公式:
1 | isset(变量名); |
例:
1 | isset($_GET['key']) |
十、file_get_contents()
获取某个文件中的所有内容,
公式:
1 | file_get_contents('文件路径'); |
例:
1 | $str = file_get_contents('mysql.txt'); |
十一、file_put_contents()
把一个字符串写入文件中;
公式:
1 | file_put_contents('文件路径', 要写入的字符串, 模式(可选)) |
十二、explode()
将字符串以某个字符为界割裂成一段段,并且做成一个数组返回:
完成后可以通过选取数组元素的方法:arr[?],来选取某段割出的数组元素,选出来的是字符串或者数字;
公式:
1 | explode(分割标志, 字符串); |
例
1 | //比如以"@_@"这段字符作为分割标记; |
十三、implode()
用某个/段字符作为连接再次将数组合并为字符串, 完成后返回字符串:
1 | $arr = ["我", "不", "知", "道":] |
十四、点等号”.=”
基本相当于JS中的累加号,可以拼接字符串和数字, 对, 对于数字型也只能是进行拼接:
1 | $a = 1; |

总结
_