导航:首页 > 编程语言 > phpsqllike

phpsqllike

发布时间:2023-02-17 21:24:18

1. php 查询 sql 数据库 提取文章关键词

$res=mysql_query("select
*
from
keyword");//查找所有关键词
while($row
=
mysql_fetch_array($rec)){//一次判断,文章中有没有出现该关键词
$str
=
$row['name'];
$rec
=
mysql_query("select
*
from
文章表
where
$title
like
'%$str%'
or
$content
like
'%$str%'");//模糊查询文章标题和内容中出现了的该关键词的数据
$num
=
mysql_num_rows($rec);//文章标题和内容中出现了的该关键词的文章条数
if($num){
echo
$str;
}
}

2. php sql 日期相等怎么判断

//
如果数据库保存的时间格式为
年-月-日
$date

=
date('Y-m-d',time());

//
第二个参数可以不传,默认当前时间戳,输出2015-9-16
$sql

=
"SELECT
*
FROM
TABLE
WHERE
TIME
=
'{$date}'";
//
完全匹配时间

//
如果数据库保存的时间格式为
年-月-日
时:分:秒
$sql

=
"SELECT
*
FROM
TABLE
WHERE
TIME
like
'{$date}%'";
//
模糊匹配
年-月-日
相等的时间,后面的
时分秒
忽略,只要年月日匹配就能查出来

3. php防止sql注入示例分析和几种常见攻击正则

functioncustomError($errno,$errstr,$errfile,$errline)
{
echo"Errornumber:[$errno],erroronline$errlinein$errfile
";
die();
}
set_error_handler("customError",E_ERROR);
$getfilter="'|(and|or)\b.+?(>|<|=|in|like)|\/\*.+?\*\/|<\s*script\b|\bEXEC\b|UNION.+?SELECT|UPDATE.+?SET|INSERT\s+INTO.+?VALUES|(SELECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE)\s+(TABLE|DATABASE)";
$postfilter="\b(and|or)\b.{1,6}?(=|>|<|\bin\b|\blike\b)|\/\*.+?\*\/|<\s*script\b|\bEXEC\b|UNION.+?SELECT|UPDATE.+?SET|INSERT\s+INTO.+?VALUES|(SELECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE)\s+(TABLE|DATABASE)";
$cookiefilter="\b(and|or)\b.{1,6}?(=|>|<|\bin\b|\blike\b)|\/\*.+?\*\/|<\s*script\b|\bEXEC\b|UNION.+?SELECT|UPDATE.+?SET|INSERT\s+INTO.+?VALUES|(SELECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE)\s+(TABLE|DATABASE)";
functionStopAttack($StrFiltKey,$StrFiltValue,$ArrFiltReq)
{
if(is_array($StrFiltValue))
{
$StrFiltValue=implode($StrFiltValue);
}
if(preg_match("/".$ArrFiltReq."/is",$StrFiltValue)==1&&!isset($_REQUEST['securityToken']))
{
slog("

操作IP:".$_SERVER["REMOTE_ADDR"]."
操作时间:".strftime("%Y-%m-%d%H:%M:%S")."
操作页面:".$_SERVER["PHP_SELF"]."
提交方式:".$_SERVER["REQUEST_METHOD"]."
提交参数:".$StrFiltKey."
提交数据:".$StrFiltValue);
print"resultnotice:Illegaloperation!";
exit();
}
}
foreach($_GETas$key=>$value)
{
StopAttack($key,$value,$getfilter);
}
foreach($_POSTas$key=>$value)
{
StopAttack($key,$value,$postfilter);
}
foreach($_COOKIEas$key=>$value)
{
StopAttack($key,$value,$cookiefilter);
}

functionslog($logs)
{
$toppath="log.htm";
$Ts=fopen($toppath,"a+");
fputs($Ts,$logs." ");
fclose($Ts);
}
?>

4. php SQL语句有and也有or应该怎么处理呢

用小括号()包含就可以区别开。
例如:
select * from table where title like '%hello%' and (contents like '%good%' or contents like '%ok%')
sql语句where部分解释如下:
title like '%hello%' and (contents like '%good%' or contents like '%ok%')
title 字段模糊查询包含 hello 字符串的数据,并且 contents 字段模糊查询包含 good 字符串的数据,或者contents 字段模糊查询包含 ok 字符串的数据
比如数据表数据如下:
字段 id --- title --- contents
数据 1 --- 11hello22 --- yougoodss
2 --- aaahello333 --- fdffokssfff
3 --- bbbhello666 ---- fffaafdafa1
像上面的数据sql语句会同时查询出1、2的数据。

就像四则运算加上小括号就有了计算优先原则。

5. PHP执行SQL并将返回数据显示到网页上为什么汉字会变成问号

是字符编码问题

mysql字符编码有四个级别 服务器级,数据库级,表级,字段级.前三种均为默认设置,并不代表你的字段最终会使用这三种之一字符集设置,以字段级为准。

从数据库中查询数据并输出显示也有主要三个地方,一个就是上面所说的,二是连接字符集使用例如mysql_query('set name gbk')的语句设定,三是脚本字符集(php脚本的编码),另外有网页编码字符集。

这些编码应该一致,尤其是连接字符集与字段字符集。

可使用 show variables like 'character%'; 来查看相关字符集设定

例如字段字符集为utf-8 ,连接字符集为utf-8 ,php脚本为utf-8编码 ,网页charset为 utf-8

6. php+mysql+like+通配符+变量

三种方法:


【一】像你这种aa前后都是特殊字符,而且最外侧是双引号的可以直接写变量名


$result=mysql_query("SELECT*FROMtable1WHEREnameLIKE'%$var%'");



【二】也可以使用点连接符对字符串进行连接:


$result=mysql_query("SELECT*FROMtable1WHEREnameLIKE'%".$var."%'");



【三】可以使用{}代码域来分隔变量名,这种用法更适用于变量后有数字、字母、下划线的情况,它可以明确地将变量与字符串区分开来:


$result=mysql_query("SELECT*FROMtable1WHEREnameLIKE'%{$var}%'");

7. php sql 日期相等怎么判断

// 如果数据库保存的时间格式为 年-月-日

$date = date('Y-m-d',time()); // 第二个参数可以不传,默认当前时间戳,输出2015-9-16

$sql = "SELECT * FROM TABLE WHERE TIME = '{$date}'"; // 完全匹配时间

// 如果数据库保存的时间格式为 年-月-日 时:分:秒

$sql = "SELECT * FROM TABLE WHERE TIME like '{$date}%'"; // 模糊匹配 年-月-日 相等的时间,后面的 时分秒 忽略,只要年月日匹配就能查出来


8. PHP如何实现模糊搜索

  1. mysql支持自然语言的全文搜索

  2. 对于字段的要求:
    只能是CHAR, VARCHAR, 或 TEXT 类型的字段
    表类型是MyISAM

  3. 在表建好,并导入数据后,建立一个fulltext index(索引)

  4. 用法:
    select 字段1,字段2,字段3, MATCH(要匹配的字段名) AGAINST('keyword') as score from table having score>0

  5. 命中的每一行都会有个分数,分数越大表示结果越接近keyword,分数越低的就是越模糊的结果

9. 请问sql查询语句怎么转换成php tp框架的查询表达式

Db::name('think_user')->where('id',1)->find();
带表前缀的查询

Db::name('user')->where('id',1)->find();

不带表前缀的查询,


这是TP5的 查询方式

可以去看下手册

阅读全文

与phpsqllike相关的资料

热点内容
asp用户注册源码 浏览:48
什么是照片压缩文件 浏览:392
java调用js代码 浏览:979
昆山市民app怎么修改身份信息 浏览:779
php登陆次数 浏览:744
python字符转成数字 浏览:822
海川用的是什么服务器 浏览:376
口才是练出来的pdf 浏览:458
云服务器哪个公司性价比高 浏览:517
源码论坛打包 浏览:558
php怎么做成word 浏览:692
python批量生成密钥 浏览:492
程序员要不要考社区人员 浏览:150
app的钱怎么充q币 浏览:813
android银行卡识别 浏览:755
怎么在app投放广告 浏览:11
手机文件管理怎么看app名称 浏览:192
程序员学数学哪本书最全 浏览:788
macd实战选股公式源码 浏览:644
加密芯片的计算方法 浏览:191