php 通用防post代码,php:如何防止$POST中的SQL注入

我有一些php脚本,我认为这有很多错误。因为我在连接和SQL注入方面的知识有限。第一次我没有任何麻烦,因为这个脚本使用PHP Mysql。

但当我尝试转换成Interbase后,我遇到了很多麻烦。

请帮忙找出我的错。

以下是我的问题:

$sLimit = "";

if ( isset( $_POST['iDisplayStart'] ) )

{

$sLimit = " FIRST ".$_POST['iDisplayStart']." SKIP ".$_POST['iDisplayLength'];

}

$sOrder ="";

$sOrder = " ORDER BY LINE_NAME ";

$sWhere = "";

if (postVar('sSearch') !="" )

{

$sWhere = " WHERE (LINE_NAME LIKE '%".$_POST['sSearch']."%' OR

MODEL_ONLY LIKE '%".$_POST['sSearch']."%' OR ".

" VER_ONLY LIKE '%".$_POST['sSearch']."%' OR ".

" LOT_SIZE LIKE '%".$_POST['sSearch']."%' OR ".

" START_SERIAL LIKE '%".$_POST['sSearch']."%' OR ".

" SERIAL_NO_LOW LIKE '%".$_POST['sSearch']."%' OR ".

" SERIAL_NO_UP LIKE '%".$_POST['sSearch']."%' OR ".

" PROD_NO LIKE '%".$_POST['sSearch']."%' OR ".

" PROD_DATE LIKE '%".$_POST['sSearch']."%') ";

}

$sQuery = "SELECT LINE_NAME, MODEL_ONLY, VER_ONLY, PROD_NO,

LOT_SIZE, START_SERIAL, SERIAL_NO_LOW, SERIAL_NO_UP, PROD_DATE

FROM DOC_TO".$sWhere.$sOrder.$sLimit.";";

$rResult = ibase_query( $sQuery) or _doError(_ERROR30 . ' (' . htmlspecialchars($sql) . '): ' . ibase_errmsg() );

$sQuery = "SELECT COUNT(*) FROM (SELECT LINE_NAME, MODEL_ONLY, VER_ONLY, PROD_NO,

LOT_SIZE, START_SERIAL, SERIAL_NO_LOW, SERIAL_NO_UP, PROD_DATE

FROM DOC_TO'.$sWhere.$sOrder.$sLimit.')";

$rResultFilterTotal = ibase_query( $sQuery) or _doError(_ERROR30 . ' (' . htmlspecialchars($sql) . '): ' . ibase_errmsg() );

$aResultFilterTotal = ibase_fetch_assoc($rResultFilterTotal);

$iFilteredTotal = $aResultFilterTotal[0];

注意:我需要了解更多关于连接的信息。谢谢提前。

错误:

Dynamic SQL Error SQL error code = -104 Token unknown - line 3, column 39 '.. ORDER BY LINE_NAME ..'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值