很多站长朋友们都不太清楚php连接jdbc,今天小编就来给大家整理php连接jdbc,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 PHP网站怎么连接到数据库? 2、 PDO接口与JDBC接口有什么关系 3、 php连接oracle数据库时报'The oci driver is not currently installed' ,大虾支招,跪求 4、 php连接数据库太给力了,就一句话比jdbc没 5、 php。已经做好了新闻管理后台 ,想吧新闻的标题(同步数据库)放在首页上,用户点击标题链接到另一页, 6、 刚开始自学php,想问一下php连接数据库主要用什么技术,有没有类似java中的jdbc,hibernate之类的。 PHP网站怎么连接到数据库?常规方式
常规方式就是按部就班的读取文件了。其余的话和上述方案一致。
// 读取配置文件内容
$handle = fopen("filepath", "r"); $content = fread($handle, filesize("filepath"));123
PHP解析XML
上述两种读取文件,其实都是为了PHP解析XML来做准备的。关于PHP解析XML的方式的博客有很多。方式也有很多,像simplexml,XMLReader,DOM啦等等。但是对于比较小型的xml配置文件,simplexml就足够了。
配置文件
<?xml version="1.0" encoding="UTF-8" ?><mysql>
<!-- 为防止出现意外,请按照此标准顺序书写.其实也无所谓了 -->
<host>localhost</host>
<user>root</user>
<password>123456</password>
<db>test</db>
<port>3306</port></mysql>12345678910
解析
<?php/**
* 作为解析XML配置文件必备工具
*/class XMLUtil {
public static $dbconfigpath = "./db.config.xml"; public static function getDBConfiguration() {
$dbconfig = array (); try { // 读取配置文件内容
$handle = fopen(self::$dbconfigpath, "r"); $content = fread($handle, filesize(self::$dbconfigpath)); // 获取xml文档根节点,进而获取相关的数据库信息
$mysql = simplexml_load_string($content); // 将获取到的xml节点信息赋值给关联数组,方便接下来的方法调用
$dbconfig['host'] = $mysql->host; $dbconfig['user'] = $mysql->user; $dbconfig['password'] = $mysql->password; $dbconfig['db'] = $mysql->db; $dbconfig['port'] = $mysql->port; // 将配置信息以关联数组的形式返回
return $dbconfig;
} catch ( Exception $e ) { throw new RuntimeException ( "<mark>读取数据库配置文件信息出错!</mark><br />" );
} return $dbconfig;
}
}1234567891011121314151617181920212223242526272829
数据库连接池
对于PHP程序而言,优化永无止境。而数据库连接池就在一定程度上起到了优化的作用。其使得对用户的每一个请求而言,无需每次都像数据库申请链接资源。而是通过已存在的数据库连接池中的链接来返回,从时间上,效率上,都是一个大大的提升。
于是,这里简单的模拟了一下数据库连接池的实现。核心在于维护一个“池”。
从池子中取,用毕,归还给池子。
<?php/**x
* PHP中的数据库 工具类设计
* 郭璞
* 2016年12月23日
*
**/class DbHelper { private $dbconfig; private $dbpool; public $poolsize; public function __construct($poolsize = 20) { if (! file_exists ( "./utils.php" )) { throw new RuntimeException ( "<mark>utils.php文件丢失,无法进行配置文件的初始化操作!</mark><br />" );
}else {
require './utils.php';
} // 初始化 配置文件信息
$this->dbconfig = XMLUtil::getDBConfiguration (); // 准备好数据库连接池“伪队列”
$this->poolsize = $poolsize;
$this->dbpool = array (); for($index = 1; $index <= $this->poolsize; $index ++) {
$conn = mysqli_connect ( $this->dbconfig ['host'], $this->dbconfig ['user'], $this->dbconfig ['password'], $this->dbconfig ['db'] ) or die ( "<mark>连接数据库失败!</mark><br />" );
array_push ( $this->dbpool, $conn );
}
} /**
* 从数据库连接池中获取一个数据库链接资源
*
* @throws ErrorException
* @return mixed
*/
public function getConn() { if (count ( $this->dbpool ) <= 0) { throw new ErrorException ( "<mark>数据库连接池中已无链接资源,请稍后重试!</mark>" );
} else { return array_pop ( $this->dbpool );
}
} /**
* 将用完的数据库链接资源放回到数据库连接池
*
* @param unknown $conn
* @throws ErrorException
*/
public function release($conn) { if (count ( $this->dbpool ) >= $this->poolsize) { throw new ErrorException ( "<mark>数据库连接池已满</mark><br />" );
} else {
array_push ( $this->dbpool, $conn );
}
}
}
PDO接口与JDBC接口有什么关系1.基于JNDI 、C3P0 、DBCP技术的数据连接池
(1)JNDI(Java Naming and Directory Interface ):是SUN公司提供的一种标准的Java命名系统接口,是一组在Java应用中访问命名和目录服务的API。命名服务是将名称和对象联系起来,使得我们可以用名称访问对象。目录服务是一种命名服务,它提供了应用编程接口(application
programming interface,API)和服务提供者接口(service provider interface,SPI)。这一点的真正含义是,要让应用与命名服务或目录服务交互,必须有这个服务的JNDI服务提供者,这正是JNDI
SPI发挥作用的地方。服务提供者基本上是一组类,这些类为各种具体的命名和目录服务实现了JNDI接口—很象JDBC驱动为各种具体的数据库系统实现了JDBC接口一样。作为一个应用开发者,不必操心JNDI
SPI。只需要确认要使用的每一个命名或目录服务都有服务提供者。
(2)C3P0:连接池作者是《星球大战》迷,C3P0就是其中的一个机器人,并且这个名称中包涵connection 和pool的单词字母。因此叫这个名字。
(3)DBCP(DataBase connection pool):是 apache 上的一个 java 连接池项目,也是 tomcat
使用的连接池组件。单独使用dbcp需要3个包:common-dbcp.jar,common-pool.jar ,common-collections.jar
(4)JDBC(Java DataBase
Connectivity)是Java与数据库的接口规范,JDBC定义了一个支持标准SQL功能的通用低层的应用程序编程接口(API),它由Java
语言编写的类和接口组成,旨在让各数据库开发商为Java程序员提供标准的数据库API。 JDBC
API定义了若干Java中的类,表示数据库连接、SQL指令、结果集、数据库元数据等。它允许Java程序员发送SQL指令并处理结果。通过驱动程序管理器,JDBC
API可利用不同的驱动程序连接不同的数据库系统。
(5)ODBC(Open DataBase
Connectivity)是微软倡导的、当前被业界广泛接受的、用于数据库访问的应用程序编程接口(API),它以X/Open和
ISO/IEC的调用级接口(CLI)规范为基础,并使用结构化查询语言(SQL)作为其数据库访问语言。 ODBC总体结构有四个组件:
区别和联系:
JDBC与ODBC都是基于X/Open的SQL调用级接口,
JDBC的设计在思想上沿袭了ODBC,同时在其主要抽象和SQL
CLI实现上也沿袭了ODBC,这使得JDBC容易被接受。JDBC的总体结构类似于ODBC,也有四个组件:应用程序、驱动程序管理器、驱动程序和数据源。
JDBC保持了ODBC的基本特性,也独立于特定数据库。
php连接oracle数据库时报'The oci driver is not currently installed' ,大虾支招,跪求安装php时需要安装php对oracle数据库的支持
1、安装oracle 11g client或instantclient 11
2、编译php支持oracle
--with-oci8[=DIR]
--with-pdo-oci[=DIR]
3、配置php.ini支持oracle 11g
windows:
extension=php_oci8_11g.dll
linux:
extension=php_oci8_11g.dll
php连接数据库太给力了,就一句话比jdbc没jdbc和连接池对于你这个场景来说,都足够,既然用spring管理了,建议还是使用连接池,另外,spring自身没有实现连接池,一般都是对第三方连接池的包装,常见的有C3P0,dbcp以及最近比较流行的boneCP等,这几个配置都差不多太多,以boneCP为例:
<bean id="dataSource" class="com.jolbox.bonecp.BoneCPDataSource"
destroy-method="close">
<property name="driverClass" value="${jdbc.driverClass}" />
<property name="jdbcUrl" value="${jdbc.url}" />
<property name="username" value="${jdbc.user}" />
<property name="password" value="${jdbc.password}" />
<property name="idleConnectionTestPeriod" value="60" />
<property name="idleMaxAge" value="240" />
<property name="maxConnectionsPerPartition" value="30" />
<property name="minConnectionsPerPartition" value="10" />
<property name="partitionCount" value="2" />
<property name="acquireIncrement" value="5" />
<property name="statementsCacheSize" value="100" />
<property name="releaseHelperThreads" value="3" />
</bean>
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource" />
</bean>
使用jdbcTemplate做你的数据操作即可,jdbcTemplate是spring对jdbc的封装,很实用,也很简单,楼主可以了解下。
php。已经做好了新闻管理后台 ,想吧新闻的标题(同步数据库)放在首页上,用户点击标题链接到另一页,你会做PHP后台了,前台首页只是从数据库里调用新闻的标题和ID就行了,然后点击进入到新闻的详情页,这页调用的是指定ID的新闻标题,内容等想要显示出的内容就行 了
刚开始自学php,想问一下php连接数据库主要用什么技术,有没有类似java中的jdbc,hibernate之类的。有啊。PDO。
连接数据库很方便的。
基本上都是写好了类。直接调用就行了
你百度一下就能找到蛮多的。当然你也可以自己写一个顺手用。
不过初学还是建议你先自己多手写一些原生函数吧。
关于php连接jdbc的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php连接jdbc php连接两个字符串的符号的详细内容...