PHP连接MySql数据库

我在这介绍一下PHP的mysqli,这个命令既可以面向对象编程又可以面向过程编程,运用预编译还可以较有效的预防SQL注入问题。直接给一个例子代码(下面的代码没有使用预编译,面向对象进行):

<?php
$conn=new mysqli("localhost","root","root","test");
$conn->query("set names 'utf8'");
$sql="INSERT INTO `user` (`name`,`password`) VALUE (\"Peter\",\"123456\")";
if($conn->query($sql)) echo "操作成功"; else echo "操作失败";
$conn->close();
?>

(下面的代码使用了预编译,面向对象进行)

<?php
$conn=new mysqli("localhost","root","root","test"); //数据库地址,用户名,密码,数据库名
$conn->query("set names 'utf8'"); //修改字符集
$sql="INSERT INTO `user` (`name`,`password`) VALUE (?,?)"; //SQL语句,问号处是预编译后要绑定的参数
$conn_stmt=$conn->prepare($sql); //预编译
$comm_stmt->bind_param("ss",$name,$pass); //绑定参数
$name="Peter"; #pass="123456"; //提示实际操作不用用这么简单的密码
if($conn_stmt->execute()) echo "操作成功"; else echo "操作失败"; //执行并判断结果
$conn_stmt->close(); //关闭预编译
$conn->close(); //关闭连接
?>

//使用面向过程方法连接数据库
$conn= mysqli_connect("gxyiovmx.2365.dnstoo.com","dingyifeng_f","zxcvbn","dingyifeng");

//使用面向对象方法连接数据库
$db=new mysqli("gxyiovmx.2365.dnstoo.com","dingyifeng_f","zxcvbn","dingyifeng");

//使用PDO方式链接数据库
$dsn='mysql:host='.'gxyiovmx.2365.dnstoo.com'.';dbname='.'dingyifeng'.';';
$dbh=new PDO($dsn,"dingyifeng_f","zxcvbn");

猜你喜欢

转载自blog.csdn.net/Byte_Dance/article/details/81040699