php通配符
❶ php里查询时实现模糊匹配
$sql="select *from mydata where lhnum like '%{$lhnum}%'";
%是通配符
❷ php模糊查询中的%是什么意思
那个是通配符
表示匹配任意字符
abc%表示左边是abc,右边是任意字符
%abc表示左边是任意字符,右边是abc
abc%abc表示左右两边是abc,中间是任意字符
%abc%表示中间是abc,左右两边是任意字符
更正一个观念
确切的说不是php模糊查询中的%
而是sql语言中模糊查询中的%
sql是一种操作数据库的语言
无论什么数据库,他的sql语句都是大同小异
❸ php正则通配符
用表达式“.+” 匹配除换行符以外从一个字符开始到任意长度字符
❹ php+mysql+like+通配符+变量
<?php
//设置级别错误,通知类除外
error_reporting('E_ALL&~E_NOTICE');
/**1---传入页码,使用GET获取**/
$page=$_GET['p'];
/**2---根据页码取出数据:php->mysql处理**/
$host="localhost";
$username="root";
$password="root";
$db="db4"; //数据库
$mysql_table="person"; //数据表
$table_guanjianzi="think";//关键字
$pageSize=10;
$showPage=5;
//连接数据库,面向过程
$conn=mysqli_connect($host,$username,$password);
if(!$conn){
echo "数据库连接失败";
exit;
}
//选择所要操作的数据库
mysqli_select_db($conn,$db);
//设置数据库编码格式
mysqli_query($conn,"SET NAMES UTF8");
//编写sql获取分页数据 SELECT * FROM 表名 LIMIT 起始位置,显示条数
//注意:以下id,name,age,say都是字段节点名,person是表名,db4是数据库名,think是指定的关键字.
$sql = "SELECT id, name, age, say
FROM person
WHERE say LIKE '%{$table_guanjianzi}%' order by id ASC LIMIT ".($page-1)*$pageSize .",{$pageSize}"; //双引号能包单引号,反过来不行,会出错./
// $sql = 'SELECT id, name, age, say
// FROM person
// WHERE say LIKE "%'think'%" order by id ASC LIMIT '.($page-1)*$pageSize .",{$pageSize}";
// 节点名 关键字 节点名 可指定数量limit后可写一个指定的数字
//$sql="select * from $mysql_table"
//$sql='select * from data where Id='.$id.' order by '.$item.' desc';
//把sql语句传送到数据库
$result=mysqli_query($conn,$sql);
//将数据显示到table中,并未table设置格式
echo "<div class='content'>";
echo "<table border=1 cellspacing=0 width=30% align=center>";
echo "<tr><td>ID</td><td>NAME</td><td>say</td></tr>";
while ($row = mysqli_fetch_assoc($result)) {
echo "<tr>";
echo "<td>{$row['id']}</td>";
echo "<td>{$row['name']}</td>";
echo "<td>{$row['say']}</td>";
echo "<tr>";
}
echo "</table>";
echo "</div>";
//释放结果
mysqli_free_result($result);
//关闭数据库
mysqli_close($conn);
❺ php中$select = sprintf("select * from studentinfo where stuid = %s",$para);
%s 是表示要转换成字符的数据类型,具体的数据和数据类型,由后面的变量决定。%s 表示一个字符串。
还有其它的,如 :
%c 一个 ASCII 字符
%d 一个整数
%u 一个符号数
%x 一个十六进制数
还有其它的 %f, %F, %e, %E, %g, %G……
具体的可要查PHP手册
❻ php 正则 匹配换行符的问题
“.”在正则里确实是不会匹配换行符的。
说它是通配符,有点名不符实。
如果你想要匹配包括换行符的所有字符的话,就用类似:[\w\W]或者[\s\S]这样的“全通配模式”;
你以上的代码,写成如下样式,就OK了:
$str="<div>你好
111
</div>";
$reg="/<div>([\w\W]*?)<\/div>/";
preg_match_all($reg,$str,$str_arr);
var_mp($str_arr);
正则是一门不大不小的学问,需要下一定的功夫在它身上。
❼ .PHP加星号是什么意思
*.php 表示所有的php文件
*.txt 表示所有的txt文件
*号就是通配符,表示任意字符
❽ PHP模糊查询怎么实现
1.请注意php中的变量,始终以 $ 开头,你有好几处都没写正确
if(!empty($keyword)){
$conn=mysqli_connect(...);
if(mysqli_connect_errno()){
printf("连接失败:%s
",mysqli_connect_error());
exit();
}
$keyword=addslashes($keyword);
$sql="SELECT*FROMuserwhereusernameLIKE'%$keyword%'";
$result=mysqli_query($conn,$sql);
$user=array();
while($row=mysqli_fetch_assoc($result))
{
$user[]=$row;
}
mysqli_free_result($result);
mysqli_close($conn);
}