phpsqland
PHP連接資料庫之PHP連接MYsql資料庫代碼
PHP連接資料庫之PHP連接ACCESS資料庫代碼方法
PHP連接資料庫之PHP連接MS SQL資料庫代碼方法
安裝SQL伺服器並添加PHP的MSSQL擴展
使用以下代碼連接並測試
PHP連接資料庫之PHP連接Oracle資料庫
PHP提供了兩套函數與Oracle連接 分別是ORA_和OCI函數 其中ORA_函數略顯陳舊 OCI函數更新據說更好一些 兩者的使用語法幾乎相差無幾 你的PHP安裝選項應該可以支持兩者的使用
② 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);
}
?>
③ php sql語句拼接怎麼加最後一個分頁條件order by id desc LIMIT $pageNum,$numPerPage
$pageVar = 0; // get['page'] 的灶睜灶參隱扮數
$numPerPage = 10; // 每頁查早敬詢的條數
$pageNum = $pageVar * $numPerPage ; // 當前頁開始的條數
$sql.=" LIMIT $pageNum,$numPerPage";
④ 在PHP中使用SQL語句 怎麼取出查詢出來的最後一個數據
在PHP中使用SQL語句可以通過倒序排讓拆列坦握棗記錄取出第一條的記錄取到最後一條數據。
一般,php調用mysql的介面查詢,查詢語句如下:
select * from table order by id DESC limit 1
這樣就取出記錄的最後一皮纖條記錄。
⑤ 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}%'";
//
模糊匹配
年-月-日
相等的時間,後面的
時分秒
忽略,只要年月日匹配就能查出來歷猜
⑥ 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的數據。
就像四則運算加上小括弧就有了計算優先原則。
⑦ php sql注入 and字元被限制了怎麼辦
答:過濾一些常見的資料庫操作關鍵櫻凱字,
select ,insert,update,delete,and,*等或通過系統函數addslashes對內容進行過濾
php配置文件中register_globals=off;設置為關閉狀態.(作用將注冊全局變數關閉);如接收POST表單的值使用$_POST['user'],假設設置為ON的話$user才接收值
sql語句書寫的時候盡量不要省略小引號(tab上面那蔽梁個)和單引號
提高資料庫命名技巧,對於一些重要的欄位根據程序的特點命名,使之不易被猜中
對於常的方法加以封裝,避免直接暴漏SQL語句
開啟PHP安全模式safe_mode=on
打開magic_quotes_gpc來防止SQL注入,默認為關閉,開啟後自動把用戶提交sql查詢語句脊並喚進行轉換把"'"轉換成"\'"
控制錯誤信息輸出,關閉錯誤信息提示,將錯誤信息寫到系統日誌
使用MYSQLI或PDO預處理
⑧ php 拼接sql字元串
function getSql($table,$wheres="",$feilds="*"){
$base_sql = "select {$feilds} from ".$table." where 1=1";
if(!empty($wheres)){
$base_sql = $base_sql." ".$wheres;
}
return $base_sql;
}
$sql = getSql("table1"," and id=1 ","id,name,cid"); //調用的時候,傳遞表名,條件(全部用and 鏈接),欄位列表 就好了。。如果乎歷滲還需要limit ,歲脊order by什麼的。爛世你可以繼續追問,我幫你完善。
⑨ php 查詢資料庫,同時滿足三個條件的sql怎麼寫
這樣寫沒有老茄尺問題侍高的,是不是你傳參數納旅錯了,輸出語句看看
$sql="SELECT * FROM 表名字 WHERE 欄位1=a and 欄位2=b";
echo $sql;
mysql_query($sql,$con);
⑩ PHP執行SQL查詢
$haha = M(),$res = $haha->query($sql)。
或 $res = $waw->execute($sql)。
$sql中包含了表名,實例化模型時可以為空。注意query是查功能,execute是增刪改功能。