成都网站建设设计

将想法与焦点和您一起共享

php面对对象连接数据库,PHP如何连接数据库

PHP使用mysqli扩展连接MySQL数据库

1.面向对象的使用方式

成都创新互联长期为上千客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为工布江达企业提供专业的网站制作、网站建设工布江达网站改版等技术服务。拥有10余年丰富建站经验和众多成功案例,为您定制开发。

$db

=

new

mysqli('localhost',

'root',

'123456',

'dbname');

如果建立连接时未指定数据库则选择使用的数据库,切换使用的数据库

$db-select_db('dbname');

$query

=

"SELECT

*

FROM

user

WHERE

uid=4";

$result

=

$db-query($query);

$result_num

=

$result-num_rows;

$row

=

$result-fetch_assoc();

//返回一个关联数组,可以通过$row['uid']的方式取得值

$row

=

$result-fetch_row();

//返回一个列举数组,可以通过$row[0]的方式取得值

$row

=

$result-fetch_array();

//返回一个混合数组,可以通过$row['uid']和$row[0]两种方式取得值

$row

=

$result-fetch_object();

//返回一个对象,可以通过$row-uid的方式取得值

$result-free();

//释放结果集

$db-close();

//关闭一个数据库连接,这不是必要的,因为脚本执行完毕时会自动关闭连接

当进行INSERT、UPDATE、DELETE操作时,使用$db-affected_rows查看影响行数

2.面向过程的使用方式

$db

=

mysqli_connect('localhost',

'root',

'123456',

'dbname');

如果建立连接时未指定数据库则选择使用的数据库,切换使用的数据库

mysqli_select_db($db,

'dbname');

查询数据库

$query

=

"SELECT

*

FROM

user

WHERE

uid=4";

$result

=

mysqli_query($db,

$query);

$result_num

=

mysqli_num_rows($result);

返回一行结果

$row

=

mysqli_fetch_assoc($result);

//返回一个关联数组,可以通过$row['uid']的方式取得值

$row

=

mysqli_fetch_row($result);

//返回一个列举数组,可以通过$row[0]的方式取得值

$row

=

mysqli_fetch_array($result);

//返回一个混合数组,可以通过$row['uid']和$row[0]两种方式取得值

$row

=

mysqli_fetch_object($result);

//返回一个对象,可以通过$row-uid的方式取得值

断开数据库连接

mysqli_free_result($result);

//释放结果集

mysqli_close($db);

//关闭一个数据库连接,这不是必要的,因为脚本执行完毕时会自动关闭连接

当进行INSERT、UPDATE、DELETE操作时,使用mysqli_affected_rows()查看影响行数

PHP7连接mysql数据库方法

1、用 mysql_connect 的方法,PHP7会报致命错误

$conn= mysql_connect('localhost','xueyanxiang','xueyanxiang');

Fatal error : Uncaught Error: Call to undefined function mysql_connect() in /Users/xueyanxiang/work/test/xue.php:31 Stack trace: #0 /Users/xueyanxiang/work/test/xue.php(119): xue-run() #1 {main} thrown in  /Users/xueyanxiang/work/test/xue.php  on line  31

原因是:

PHP5中使用mysql_connect()函数进行连接,但实际上,PHP5.5开始,MySQL就不推荐使用了,属于废弃函数

PHP7中貌似已经彻底不支持了,根据官网说明,取而代之的是如下两个:

本扩展自 PHP 5.5.0 起已废弃,并在将来会被移除。应使用 MySQLi 或 PDO_MySQL 扩展来替换之。参见 MySQL:选择

API 指南以及相关 FAQ 以获取更多信息。用以替代本函数的有:

mysqli_connect()

PDO::__construct()

使用时,不要在使用mysql_connect了,可以换用mysqli_connect(),用法基本类似吧,据说是面向对象的库。

php.ini中,也只有extension=php_mysqli.dll,而不再有extension=php_mysql.dll这个拓展了。

2、可以使用mysqli,对象化,方法名与被废弃的类似

$conn= mysqli_connect('localhost','xueyanxiang','xueyanxiang');

3、PDO工具,推荐使用

$dbh= "mysql:host=localhost;dbname=test";

$db= new PDO($dbh,'xueyanxiang','xueyanxiang');

$objQuery= $db-query("select * from user;");

$res= $objQuery-fetchAll(PDO::FETCH_ASSOC);

不填写参数的话,默认是关联和索引都有,如下图

请问PHP怎样用面向对象方式连接MySQL数据库?

?php

$servername = "localhost"; //你的连接地址,可以是ip

$username   = "username"; //你的用户名

$password   = "password"; //你的密码

$dbname     = "myDB"; //你要连接数据库的名字

// 创建连接

$conn = new mysqli($servername, $username, $password, $dbname);

// 检测连接

if ($conn-connect_error) {

die("连接失败: " . $conn-connect_error);

}

echo "连接成功";

学习可以参考:


本文标题:php面对对象连接数据库,PHP如何连接数据库
标题网址:http://chengdu.cdxwcx.cn/article/hccgec.html