php怎么操作数据库,如何使用PHP数据对象?
所谓的PDO,就是php中内嵌的一个数据对象。不论什么类型的数据库连接,都可初始化为一个PDO对象,然后再使用该对象中所定义的各种方法来查询和获取数据,这样就为不同的数据库定义了一个轻量级的一致接口。
该功能自php5.1版本开始使用,但并不是每个版本默认都开通了的。现以目前使用最广泛的两个php版本为例:
在5.6版本中,php_pdo_odbc是作为扩展功能提供的。如果不选择使用此扩展,odbc方式连接正常,但以odbc方式初始化一个pdo对象时就会出错。使用phpinfo()查看,如下图:
在7.0版本中,情况完全与5.6相反:php_pdo_odbc默认就是开通的,obdc却被关闭。
当然,如果你仅仅只是要通过PDO连接MySQL数据库,就无需关注上述问题。只有在连接MySQL之外的其它数据库时才需关注上述扩展的开通情况,比如Access、MSSQL之类。
下面重点说一下如何通过PDO连接不同的数据库。
一般情况下,我在php中连接MySQL数据库时喜欢使用mysqli_connect函数,连接微软系列数据库时喜欢使用odbc_connect函数。为了后期的数据统一操作,它们都可以改用pdo方式连接:该方式其实就是将各种不同类型的数据库连接,都初始化为一个PDO对象,然后再使用该对象中所定义的各种方法来查询和获取数据。初始化对象时,如果有任何的连接错误,都将抛出一个PDOException异常对象,我们还可以据此获取相关的错误信息。
例如,通过pdo创建mysql的数据库连接:
try {
$link = new PDO('mysql:host=localhost;dbname=test','root','');
} catch (PDOException $e) {
$str = '连接失败!错误信息: '.$e->getMessage();
exit($str);
}
echo '数据库连接成功!';
如果要连接MSSQL,可将$link改为:
$link = new PDO('odbc:Driver={SQL Server};Server=.\sqlexpress;database=gz','sa','123456');
很显然,不论什么数据库的连接,当创建PDO对象时,都少不了以下三个参数:第一个参数是dsn,用于指定驱动程序及数据库;第二个参数是用户名;第三个参数是密码。连接Access或Excel同理。
例如,以下就是连接的Access:
$file = realpath('data.mdb');
$link = new PDO('odbc:Driver={Microsoft Access Driver (*.mdb)};dbq='.$file,'','');
以下是连接Excel文件的:
$file = realpath('data.xls');
$link = new PDO('odbc:Driver={Microsoft Excel Driver (*.xls)};dbq='.$file,'','');
以上用户名、密码参数为空时,也可直接省略,只写第一个参数就行。
PDO对象创建之后,就可以使用该对象中的方法来获取数据或更新数据了。既然题主问的是如何连接,此回答就到此为止。
我是人民邮电出版社签约作者,最近写的一本书《B/S项目开发实战》中就详细讲解了PDO操作数据库的具体方法,甚至连中文数据表、中文字段的问题都进行了详细说明。如对此类问题有兴趣,请关注我一起交流提高,谢谢!
php数据库默认密码?
phpstudy的数据库默认密码是root
phpstudy如何到导入数据库?
点击MySQL管理器--》点击进入MySQL-Front--》在localhost下选择新建一个数据库--》点击新建数据库后,在对象浏览器窗口,单击右键--》输入--》sql文件命令,进入后选择对应.sql文件进行导入(注意:字符集格式选择)
如何在PHP中获取MYSQL数据库返回的数据的行数?
1、首先打开MYSQL的管理工具,新建一个test表,并且在表中插入两个字段。
2、接下来在Editplus编辑器中创建一个PHP文件,然后进行数据库连接,并且选择要操作的数据库。
3、然后通过mysql_query方法执行一个Insert的插入语句。
4、执行完毕以后,我们回到数据库管理工具中,这个时候你会发现插入的中文乱码了。
5、接下来我们在PHP文件中通过mysql_query执行一个set names utf8语句即可完成操作。
是否可以请个Java的回来搞数据库?
这个出来数据库,主要用处是什么。假设只是用了开源的一个php系统,只是需要处理数据库的数据做成报表。倘若现在php招过来的人不合适或者人员比较难招,java人员好招那可以找一个替代的。如果系统需要修修补补,java的兼职一下一般难度不是很大。如果是要大改造,那还是建议找php毕竟专业有区分。
倘若只做报表,也可以招一个运维人员会sql的就可以了。
主要看需求而定。