本篇文章给大家带来的内容是关于php实现防止SQL注入的方法介绍(两种),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
PHP简单实现防止SQL注入的方法,结合实例形式分析了PHP防止SQL注入的常用操作技巧与注意事项,PHP源码备有详尽注释便于理解,需要的朋友可以参考下!
方法一:execute代入参数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | $var_Value ) {
$num = $num + 1;
}
for ( $i =0; $isetAttribute (PDO::ATTR_EMULATE_PREPARES, false);
$stmt = $pdo ->prepare( "select good_id from delphi_test_content WHERE good_id = ?" );
$stmt ->execute( array ( $_POST [ $i ]));
$count = $stmt ->rowCount();
if ( $count != 0)
{
$stmt = $pdo ->prepare( "update delphi_test_content set content = ? WHERE good_id = ?" );
$stmt ->execute( array ( $_POST [ $j ], $_POST [ $i ]));
}
if ( $count == 0)
{
$stmt = $pdo ->prepare( "insert into delphi_test_content (good_id,content) values (?,?)" );
$stmt ->execute( array ( $_POST [ $i ], $_POST [ $j ]));
}
}
}
$pdo = null;
}
?>
|
Salin selepas log masuk
方法二:bindParam绑定参数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | $var_Value ) {
$num = $num + 1;
}
for ( $i =0; $iprepare ( "select good_id from delphi_test_content WHERE good_id = ?" );
$stmt ->execute( array ( $_POST [ $i ]));
$stmt ->bindParam(1, $_POST [ $i ]);
$stmt ->execute();
$count = $stmt ->rowCount();
if ( $count != 0)
{
$stmt = $pdo ->prepare( "update delphi_test_content set content = ? WHERE good_id = ?" );
$stmt ->execute( array ( $_POST [ $j ], $_POST [ $i ]));
$stmt ->bindParam(1, $_POST [ $j ]);
$stmt ->bindParam(2, $_POST [ $i ]);
$stmt ->execute();
}
if ( $count == 0)
{
$stmt = $pdo ->prepare( "insert into delphi_test_content (good_id,content) values (?,?)" );
$stmt ->bindParam(1, $_POST [ $i ]);
$stmt ->bindParam(2, $_POST [ $j ]);
$stmt ->execute();
}
}
}
$pdo = null;
}
?>
|
Salin selepas log masuk
Atas ialah kandungan terperinci php实现防止SQL注入的两种方法介绍(代码示例). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!