我的博客,后台数据库是什么?没错,就是MySQL,服务器端使用的脚本就是PHP,整个框架使用的是WordPress
在PHP中连接MySql有三套标准的库支持
- mysql扩展,但是目前已经不推荐使用(在PHP7已经被废弃);
- mysqli扩展,同时提供面向对象风格和面向过程的风格;要求MySQL版本是4.1及以上的;
- PDO扩展为PHP访问数据库定义了一种轻量级的一致接口;PDO_MYSQL是对其的具体实现。这里暂时只关心开发。
第一套扩展比较简单,我们列举、使用一下常见的方法就可以了。
$conn=mysql_connect($mysql_server_name,$mysql_username,$mysql_password) or die("error connecting") ; //连接数据库
mysql_query("set names 'utf8'"); //数据库输出编码 , 只需要设置一次就可以(可以先在数据库设置好),此语句非必须
mysql_select_db($mysql_database); //打开指定的数据库
mysql_query($sql,$conn); //进行SQL语句的操作,对查询会返回 结果资源 ,其他会返回 布尔值
//对于返回的结果,可以交给以下函数处理
- mysql_fetch_array — 从结果集中取得一行作为关联数组,或数字数组,或二者兼有
- mysql_fetch_assoc — 从结果集中取得一行作为关联数组
- mysql_fetch_row — 从结果集中取得一行作为枚举数组
- mysql_fetch_field — 从结果集中取得列信息并作为对象返回
mysql_close($conn); //关闭MySQL连接
对于没有使用的方法,大家可以查Mysql函数查看和使用,但是已经不推荐使用了,您应该使用 mysqli 或者 PDO_MySQL 扩展代替。
第二套mysqli扩展(MySQL增强版扩展),在MySQL 4.1及以上版本提供的功能
如果会前一套扩展,直接将mysql改为mysqli即可,但是与之不同的是,mysqli是支持面向对象的(MySQLi类)。
$db_connect= new mysqli($dbhost,$dbname,$dbpass,$dbdatabase); //创建数据库连接
$result=$db_connect->query($sql); //执行sql语句
$result->close(); //关闭资源
$db_connect->close(); //关闭数据库连接
第三套标准PDO
PHP 数据对象 (PDO) 扩展为PHP访问数据库定义了一个轻量级的一致接口。实现 PDO 接口的每个数据库驱动可以公开具体数据库的特性作为标准扩展功能。
PDO其实是PHP Database Objects的缩写,中文即PHP数据库对象。它提供了一个 数据访问 抽象层,这意味着,不管使用哪种数据库,都可以用相同的函数(方法)来查询和获取数据。
DSN指的是数据源名称,有多种输入类型。最常见的一种是我们刚刚用的这种,PHP官网解释了 其他可用的DSN 。
$dsn = 'mysql:host=localhost;dbname=test;port=3306;' ; //DSN对象
$dbh = new PDO($dsn, $user, $pass); //创建数据库连接
$dbh -> exec() ; // 执行一条 SQL 语句,返回受此语句影响的行数。
$stat = $dbh -> query() ; // 执行一条 SQL 语句,返回一个PDOStatement 类
//当有结果时,PDOStatement代表一个相关的结果集。 $arr = $stat -> fetch () ; 调用该方法可以得到指定的 数组格式的结果集
-
PDO::FETCH_ASSOC:返回一个索引为结果集列名的数组
-
PDO::FETCH_BOTH(默认):返回一个索引为结果集列名和以0开始的列号的数组
-
PDO::FETCH_NUM:返回一个索引为以0开始的结果集列号的数组
-
PDO::FETCH_OBJ:返回一个属性名对应结果集列名的匿名对象
print_r($arr);
$dbh = null; //关闭数据库连接
这里是更多关于这个PDO对象的手册
原创文章转载请注明:转载自:PHP连接和操作MySQL数据库
可以啊,狗狗又在开始study了
对啊