龙空技术网

2023.04.02微友系统打卡

不能停止前进 12

前言:

今天各位老铁们对“php打卡功能”都比较讲究,大家都需要了解一些“php打卡功能”的相关内容。那么小编同时在网摘上收集了一些对于“php打卡功能””的相关资讯,希望朋友们能喜欢,你们快快来学习一下吧!

今天使用了TP5的自定义查询,手册中命名绑定的方式,介绍的不是很清晰,踩了一些坑

1、命名绑定的参数不能重复,例如在字符串:name不能出现两次

2、$results = Db::query($sql, ['userid' => $userId]);

需要绑定的参数的数量不能多于字符串中定义的数量,1对1

针对这个问题,我又研究了下PHP的字符串知识点

\0 ,ASCII值为0的字符(NULL值)。\n ,换行符。\r ,回车符,即回到行首。\t ,制表符。\$ ,将$符号当作普通符号,而不是变量前缀。\” ,双引号。\ ,反斜线(\)符号。{n} ,n将以八进制显示。\x{n} ,n将以十六进制显示。

在这里需要注意的是\$转义,在PHP双引号字符串中,我们可以直接使用变量名,而显示时会自动替换为变量的值,如:

$num = 15;  print "$num"; // 显示15

如果我需要显示$符号,就需要使用\$转义,如下面的代码:

$num = 15;  print "\$num = $num"; // 显示$num = 15

另一种常用的字符串是通过一对单引号来定义,这种字符串中只支持两种转义字符(\’和\),并且不支持显示变量值的功能,所以,在处理单引号字符串时,会减少很多工作,如查找字符串中的变量名和更多的转义字符等。

看了上面的介绍,把SQL的调整了下,这个多行文本,折腾了我一天,原来PHP处理起来很简单。还是基础不牢

$sql = "SELECT perm_idFROM ((SELECT perm_idFROM w_role_permission AS aLEFT JOIN w_user_role b ON a.role_id = b.role_idWHERE b.user_id=$userId AND a.perm_id NOT in (SELECT perm_idFROM w_user_permissionWHERE ishave =0 AND user_id=$userId)) UNION (SELECT perm_idFROM w_user_permissionWHERE ishave=1 AND user_id=$userId)) AS fp"

标签: #php打卡功能