且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

PHP防止数据库数字SQL注入攻击

更新时间:2022-02-05 10:59:56

<?php
header("Content-Type:text/html;charset=UTF-8");
// 数据库配置
include_once 'config.php';
// 获得传递参数
$id=urldecode($_GET['id']);
// 判断是否有参数
$id = isset($_GET['id']) ? $_GET['id'] : '';
// 防止SQL注入
if (empty($id) || !is_numeric($id))
{
    die("警告:这个是非法数字!");
}
// 连接数据库
$conn=mysql_connect($Db_Server,$Db_User,$Db_Pwd);
// 判断连接是否成功
if (!$conn)
{
die("不能连接数据库,错误是: " . mysql_error());
}
// 数据库输出编码,应该与你的数据库编码保持一致。建议用UTF-8国际标准编码
mysql_query("set names 'utf8'"); 
// 打开数据库
$db_selected = mysql_select_db($Db_Name, $conn);
// 判断打开是否成功
if (!$db_selected)
{
die ("不能打开数据库,错误是: " . mysql_error());
}
// SQL语句
$sql ="select * from demo where id=".$id;
// 查询SQL语句
$result = mysql_query($sql,$conn); 
// 判断是否有数据
if (!$result)
{
die("查询失败: " . mysql_error());
}
// 循环读取数据
while($row = mysql_fetch_array($result))
{
// 读数据
echo $row['content'];
}
// 使用完毕关闭数据库连接
mysql_close();
?>