此外,据资料裤余弊表示,PDO方式防止SQL注入更有效。
实现了PDO接口的每一种数据库驱动都能以正则扩展脊基的形式把他们各自的特色表现出来。注意;利用PDO扩展本身并不能实现任何数据库函数。你必须使用一个特定的数据库PDO驱动去访问数据库。1、更换数据库时取得极大便利可怕的是,这些扩展和各自对应的数据库打交道时,他们各自的函数有很多是不一样的。比如:PHP利用libmysql.dll和MYSQL打交道时,如果要从数据表中提取数据作为关联数组,用的是mysql_fetch_accoc,而如果要从postgre数据库取得同贺野镇样的结果,你就不得不用pg_fetch_assoc。2、极大提高程序运行效率 针对上面的情况,也许你会说,我可以使用ADODB(LITE),PEAR::db来实现对不同类型数据库函数的封装啊。这样子,即使我更换数据库,也不需禅粗要修改程序。OK,从现在开始用PDO进行你的开发吧。<span style="font-size:18px"><span style="font-size:18px"><html>
<head>
<meta http-equiv="Content-Type" content="text/htmlcharset="utf-8" />
</head>
<缓培?php
session_start() //初始化session变扰毕唯量
$username = $_POST['name'] //接收表单提交的用户名
$password=md5($_POST['pwd']) //接收表单提交的密码
class chkinput //定义类
{
var $name
var $pwd
function chkinput($x,$y) //定义一个方法
{
$this->name=$x //将管理员名称传给类对象$this->name
$this->pwd=$y //将管理员密码传给类对象$this->pwd
}
function checkinput()
{
include("conn.php") //连接数据库文件
$sql=mysql_query("select username,password from admin where username='".$this->name."' and password='".$this->pwd."'",$conn)
$info=mysql_fetch_array($sql) //检索管理员名称和密码是否正确
if($info==false) //如果管理员名称或密码不正确,则d出相关提示信息
{ 数没
echo "<script language='javascript'>alert('您输入的管理员名称或密码错误,请重新输入!')history.back()</script>"
exit
}
else //如果管理员名称或密码正确,则直接跳转到登陆成功后界面
{
echo "<script>window.location='home.php'</script>"
$_SESSION['admin_name']=$info['username'] //将管理员名称存到$_SESSION[admin_name]变量中
$_SESSION['pwd']=$info['password'] ////将管理员名称存到$_SESSION[pwd]变量中
}
}
}
$obj=new chkinput(trim($username),trim($password)) //创建对象
$obj->checkinput() //调用类
?>
</html></span></span>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)