導航:首頁 > 編程語言 > 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相關的資料

熱點內容
手機文件圖片怎麼解壓 瀏覽:655
分布式系統設計pdf 瀏覽:181
中軸線趨勢指標源碼 瀏覽:721
labview源碼代碼 瀏覽:61
15匹谷輪壓縮機圖片 瀏覽:818
bsp分割演算法 瀏覽:22
高手選股公式源碼 瀏覽:682
脆皮軟心球解壓視頻十分鍾 瀏覽:404
如何關閉蘋果app同步充值 瀏覽:766
視頻壓縮發送微信 瀏覽:856
程序員段子大全圖片 瀏覽:760
javaudp心跳 瀏覽:429
阿里賣家app如何分配詢盤 瀏覽:828
如何拔打中國移動人工伺服器 瀏覽:505
傳奇歸來為什麼連不上伺服器 瀏覽:555
壓縮機潤滑油在哪個位置工作 瀏覽:141
張翰解壓減幾 瀏覽:775
你好法語1教師用書pdf 瀏覽:486
手機解壓縮後文件在哪 瀏覽:472
linux內核框架 瀏覽:720