数据库的连接与关闭

一、连接数据库:

方法1.

<?php

$mysqli=new mysqli(‘localhost‘,‘mysql_user‘,‘mysql_pwd‘,‘use_db_name‘);

?>

方法2.

<?

$mysqli=new mysqli();

$mysqli=>connect(‘localhost‘,‘mysql_user‘,‘mysql_pwd‘);

$mysqli=>select_db(‘mysql_db_name‘);

?>

二、使用mysqli构造方法建立连接时无法设置任何MySQL特有的连接选项。若要设置连接选项,可使用mysqli_init()创建连接

<?php

/*使用mysqli_init()创建一个连接对象*/

$mysqli=mysqli_init();

$mysqli->options(MYSQLI_INIT_COMMAND,‘SET AUTOCOMMIT=0‘);        //连接成功即执行‘SET AUTOCOMMIT=0‘

$mysqli->options(MYSQLI_OPT_CONNECT_TIMEOUT,5);                //设置连接超时的时间,以秒为单位

$mysqli->real_connect(‘localhost‘,‘mysql_user‘,‘mysql_pwd‘,‘my_db_name‘);

?>

三、mysqli_connect_errno()测试连接过程中是否出错,使用mysqli_connect_error()函数负责返回错误信息

<?php

$mysqli=new mysqli(‘localhost‘,‘mysql_user‘,‘mysql_pwd‘,‘dbname‘);

/*检查连接,如果连接出错输出错误信息并退出程序*/

if(mysqli_connect_errno()){

printf(‘连接失败:%s\n‘,mysqli_connect_error());

exit();

}

?>

四、完成数据库访问工作后,应该及时关闭连接释放有关的mysqli对象。

虽然脚本执行结束后,所有打开的数据库连接都将自动关闭,资源被回收。

但是,在执行过程中,有可能页面需要多个数据库连接,各个连接要在适当的时候将其关闭。

mysqli对象中的close()方法负责关闭打开的数据库连接,成功时返回true,否则返回false

<?php

/*连接到mysql数据库并成功返回mysqli对象*/

$mysqli=new mysqli(‘localhost‘,‘mysql_user‘,‘mysql_pwd‘,‘mysql_db_name‘);

/*检查连接是否出错*/

if(mysqli_connect_errno()){

printf("连接失败:%s<br>",mysqli_connect_error());

exit();

}

/*打印当前数据库使用字符集字符串*/

printf("当前数据库的字符集为:%s<br>",$mysqli->character_set_name());

/*打印客户端版本*/

printf("当前客户端的版本为:%s<br>",$mysqli->get_client_info());

/*打印服务器主机信息*/

printf("主机信息:%s<br>",$mysqli->host_info);

/*打印整数形式mysql服务器版本*/

printf("服务器版本:%d<br>",$mysqli->server_version);

/*关闭打开的数据库连接*/

$mysqli->close();

?>

时间: 2024-07-30 01:21:09

数据库的连接与关闭的相关文章

涂抹Oracle笔记2:数据库的连接-启动-关闭

一.数据库的连接sqlplus <username>[/<password>][@<connect_idertifier>]|/[as sysdba| as sysoper]|/nolog1.C:\Users\Administrator>sqlplus / as sysdba; ---这是典型的操作系统认证,不需要listener进程2.C:\Users\Administrator>sqlplus /nolog ----不以用户身份登录,先进入SQLPlus

用JavaBean实现数据库的连接和关闭,在jsp页面输出数据库中student表中学生的信息

package com.hanqi.test; import java.sql.*; public class XveSheng { Connection conn; Statement st; ResultSet rs; public Connection getConn() { return conn; } public void setConn(Connection conn) { this.conn = conn; } public Statement getSt() { return

c#对数据库访问完应关闭连接

1.对数据库的连接SqlConnection con = new SqlConnection(constr);使用完成后,应该至少应该close或dispose关闭.否则会导致数据库例如(SQl2005)中处于sleeping的进程增加并且不能自己销毁,最终会导致出现"“连接超时,已经到达最大连接数等信息”.       其解决方法:见微软的官方说明“如果 SqlConnection 超出范围,则不会将其关闭.因此,除非将代码放在 using 语句内,否则必须调用 Close 或 Dispose

PHP历程(PHP与MYSQL数据库之间连接、创建和关闭)

<?php define('WXLEVELS_DB_HOST','127.0.0.1'); //服务器 define('WXLEVELS_DB_USER','root'); //数据库用户名 define('WXLEVELS_DB_PASS','123456'); //数据库密码 define('WXLEVELS_DB_NAME','PvUv'); //默认数据库 define('DB_CHARSET','utf8'); //数据库字符集 define('TIMEZONE',"PRC&qu

数据库连接工具类——包含取得连接和关闭资源 ConnUtil.java

package com.util; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; /** * @className: ConnUtil.java * @classDescription: 数据库连接工具类——包含取得连接和关闭资源 * @fun

相克军_Oracle体系_随堂笔记016-参数文件及数据库的启动和关闭

参数文件: spfile<SID>.ora    动态参数文件,是二进制文件,9i以后引入并建议使用 init<SID>.ora    静态参数文件,是文本文件 动态参数,部分参数可以动态修改.建议9i以后就使用spfile. 数据库启动三个阶段: nomount(根据参数文件配置参数启动实例) mount(根据参数文件中记录的控制文件位置打开控制文件) open(根据控制文件信息打开数据文件,redo日志文件,open数据库) 注:nomount之前就可以根据pfile创建spf

[转]Hibernate不能自动建表解决办法及Hibernate不同数据库的连接及SQL方言

最近开始学Hibernate,看的是李刚的那本<轻量级java ee企业应用实战>.头一个hibernate程序,我原原本本的按照书上例子写下来,同时只是改动了些mysql的连接参数,并且在mysql中新建了一个hibernate数据库,仅此而已.然而预想不到的事情发生了……程序写好之后,运行,报错Hibernate: insert into news_table (title, content) values (?, ?) Exception in thread "main&quo

关于oracle连接的关闭

在网上搜索"关闭连接后resultset取值会有问题吗"看到好几次这样的观点: 发表时间:2005-01-26  robbin 如果你不使用连接池,那么就没有什么问题,一旦Connection关闭,数据库物理连接就被释放,所有相关Java资源也可以被GC回收了. 但是如果你使用连接池,那么请注意,Connection关闭并不是物理关闭,只是归还连接池,所以PreparedStatement和ResultSet都被持有,并且实际占用相关的数据库的游标资源,在这种情况下,只要长期运行,往往

创建数据库的连接(不同的方法)

<?php/** * Created by PhpStorm. * User: 程冬 * Date: 2017/7/24 * Time: 10:25 */ ///**// * 面向对象化的方法// *///$mysqli = mysqli_init();//if (!$mysqli) {// die('mysqli_init failed');//}////if (!$mysqli->options(MYSQLI_INIT_COMMAND, 'SET AUTOCOMMIT = 0')) {//