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是增删改功能。