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

熱點內容
加密晶元的計算方法 瀏覽:187
手機存儲為什麼找不到微信文件夾 瀏覽:695
msf埠遷移命令 瀏覽:880
工商app積分怎麼查詢 瀏覽:143
鐵路app怎麼買火車票 瀏覽:309
移魅族除的app怎麼添加 瀏覽:240
兔籠子大號加密 瀏覽:171
單片機程序燒錄操作成功 瀏覽:878
指標高拋低吸點位源碼 瀏覽:205
25匹壓縮機銅管 瀏覽:570
單片機單燈左移05 瀏覽:150
買伺服器練手什麼配置 瀏覽:783
伺服器被毀該怎麼辦 瀏覽:939
python私有庫 瀏覽:514
Python有中文嗎 瀏覽:736
麥塊的伺服器為什麼都進不去 瀏覽:474
新買的伺服器如何打開 瀏覽:35
安卓軟體游戲怎麼開發 瀏覽:319
用撲克擺愛心解壓神器怎麼擺 瀏覽:70
松下製冷壓縮機 瀏覽:275