php pdo怎么开启,如何使用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的学习,你不可避免的要经常与前端交互,这要求你必须掌握htmlcssjs。最好还能会jquery或者angularjs以及bootstrap。后三个可以让你开发前端更快捷
这里面的内容对于初学者入门php完全足够,前期不要用框架,基础语法整扎实了,至少你要会基本的搭建环境和发布项目,常量变量、运算符、表达式、数组、结构控制语句(ifswitchfor之类的)
php初学时,是面向过程的,对于学过C的同学会比较容易接受,他也提供面向对象的功能,上面的链接里也有基本介绍。
到了基础学好了,你应该开始学习linux下开发,要知道LAMP(LINUX+APACHE+MYSQL+PHP),基础学号后,推荐在ubuntu下使用phpstorm开发,(phpstorm资料自行百度,它公司jetbrains提供了很多语言的ide,交互很好,至少比zendphp和eclipse强,很漂亮,支持各种常见框架,第三方库的代码提示,功能也很强大,重要的是,他对学生和教师免费,在校学生和教师可以从他们的英文官网上申请免费使用,有三种方式,哪怕使用人工申请也很快,我人工申请的,一个下午就下来了,申请只是可以获得一个免费的离线激活码和激活账号,功能和原版是一样的)。
如果你希望让自己看起来专业一点,你可以开始学习linux的快捷键和phpstorm的快捷键,他们二者的快捷键足够让你离开鼠标。但是不推荐专门背记,因为浪费时间,平常用到鼠标的时候,就百度一下这个操作有没有快捷键就好了。当然你可以先找找他们的快捷键手册,先全部试一遍,知道有哪些快捷键。
你要学习session、cookie。这是与前端交互非常重要的工具。
然后就是学会如何相应ajax、sse、websocket请求。这对时下热门的H5尤其重要。
接下来,你需要学学正则表达式,你会经常用到的,说的简单了其实就是便于字符串查找和替换,但是应用广泛,比如对URL传递的参数类型判断和处理,你就可以用正则匹配它是数字,还是串。你也可以用用正则拆分一个文件的名称,获取文件后缀和文件名等等。
然后你需要学学文件操作、数据库操作(mysqli或者pdo,强烈推荐后者),这对于保存信息和向用户推送信息有大用处,比如QQ空间,你上传的图片、附件在后台都是php的文件操作,用户信息、日志、访客记录这些都需要存在数据库。
然后你就要开始学面向对象编程,很多框架都是基于面向对象的,比如国内常见的Yii和ThinkPHP。
最后你就要开始学习框架了,国内常见的Thinkphp,国产,中文文档齐全,学习方便,好理解。也有一些国外的比如Yii,zoop。没有绝对的好坏,对面向对象比较熟悉的可以使用后者,否则,学习能力不强,英文能力不强建议前者
推荐参考书《跟兄弟连学PHP》。涉及全面,讲解简单,样例充分,但不深入。总体而言是一个很好的入门教材。
至此,你算是熟练掌握了。你如果再有一些工作经验,你可以算的上高级工程师了。不要小看工作经验,基础扎实的情况下,工作是深入学习最快的途径,你会遇到很多课本上少见的,哪怕工作一年,也能完虐一年前的自己。
如果想学编程从0开始应该如何安排?
万事开头难,所以无论做什么事都要有一个良好的开端。编程这个概念包括的范围很广泛,我这里主要说的是数控编程。
要想学好数控编程需要具备三个最基本的条件:具有一定的学习能力、接受良好的培训、从实践中积累经验。
一.具备一定的专业基础知识
就像小孩子学走路一样只有先学会走才能跑起来。学习数控编程也是一个道理,在学习之前先要对基础知识有一定的了解才能为以后的学习铺平道路。
二.学习数控编程的步骤与方法
在开始编写程序前有一些相关的准备工作要做:分析零件图确定加工工艺——计算出零件的加工数值——编写加工程序——将程序输入数控机床——检验程序与首件试切。
数控编程分为手动编程与自动编程机(即计算机辅助编程)。手动编程有工作人员手动编写,主要是加工一些简单的平面、圆弧类零件。今天主要说的是自动编程,对于一些结构复杂有多种曲面的零件就要用计算机辅助编程来完成。常用的编程软件如UG、PRO/E、MasterCAM等。现在UG在机械加工中用的最广泛就以UG为例,我们只要在UG建模中打开绘好的加工零件的图形,用鼠标选中要加工的部位设置好走刀路径并输入相关的工艺参数,UG就可自动的生成加工程序。待程序完成后还可以用UG自带的仿真功能进行检验。
三.从实践中积累丰富经验
理论一定要与实践相结合,光学会了理论只把教材中的东西学会是远远不能胜任实际生产加工中遇到的问题的,必须从理论回到实际中,真刀实枪的干才能学到真正实用的技术,才能顺利的解决以后工作中遇到的各种问题。
学习是一个长期的过程,是一个日积月累的过程,是一个自我不断完善的过程。
如有好的方法建议欢迎大家关注、留言。
pdo和pps的区别?
1、pdo是php的一个扩展,用于连接数据库;pps是一种协议,用于在网络上传输数据。2、pdo主要作用是用于连接数据库,并提供一系列的接口函数,实现对数据库的增删改查操作;pps主要作用是对数据进行包装和传输,确保数据能够在网络中准确无误地到达目标设备。3、在实际应用中,pdo主要用于与数据库交互,并执行sql语句,对数据进行操作;pps则主要用于网络传输,确保数据的可靠性和安全性,比如在视频会议、网络游戏等领域中。总的来说,pdo和pps虽然在技术上有所不同,但都有着重要的应用价值,能够为软件开发和网络通讯提供帮助。
php有哪些优点?
1. 跨平台,性能优越,跟Linux/Unix结合别跟Windows结合性能强45%,开发成本低,
PHP最经典的组合就是:Linux + Apache + Mysql + PHP。非常适合开发中小型的web应用,因为上手容易,所以开发的速度比较快。而且所有的软件都是开源免费的,可以减少投入。
比如LAMP(Linux /Apache/Mysql/PHP)或者FAMP(FreeBSD/Apache/Mysql/PHP)结合,或者数据应用够大可以考虑换 PostgreSQL或者Oracle,支持N种数据库。(N >= 10)
2. 语法简单,入门快,如果有其它语言基础的程序员二周左右的时间基本可以入门,并且跟ASP有部分类似。有成熟的开发工具,比如NuPHPed,或者Zend Studio等等,再Linux平台下可以使用Eclipse等等。
3. 目前主流技术都支持,比如WebService、Ajax、XML等等,足够应用。
4. 有比较完整的支持,比如使用ADODB或者PEAR::DB做数据库抽象层,用Smarty或者smart template做模板层,如果是PHP 5.1的话,还能够使用PDO(PHP Data Object)来访问数据库。
5. 有很多成熟的框架,比如支持MVC的框架:phpMVC,支持类似ASP.net的事件驱动的框架:Prado,支持类似Ruby On Rails的快速开发的框架:Cake等等,足够满足你的应用需求。
6. PHP 5已经有成熟的面向对象体系,能够适应基本的面向对象要求。适合开发大型项目。
7. 有成熟的社区来支持PHP的开发。
8. 目前已经很多大型应用都是使用PHP,比如淘宝网、Yahoo、163、Sina等等大型门户,很多选用PHP来作为他们的开发语言,所以大型门户都能够选用它,我想足够能够你的使用了。(据了解现在内部都在逐渐转向JAVA)
9. 有很多开源的框架或开源的系统可以使用,比如比较知名的开源框架有Zend Framework、CakePHP、CodeIgniter、symfony等,开源论坛有Discuz!、Phpwind等,开源博客 WordPress,开源网店系统如Ecshop、ShopEx等,开源的SNS系统如UCHome、ThinkSNS等。
关注优就业,学习更多IT知识。