PHP防止数据库数字SQL注入攻击-阿里云开发者社区

开发者社区> 数据库> 正文

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

简介:

<?php

header("Content-Type:text/html;charset=UTF-8");

// 数据库配置

include_once 'config.php';

// 获得传递参数

$id=urldecode($_GET['id']);

// 判断是否有参数

$id = isset($id) ? $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();

?>

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章