作者cokellen (cokellen)
看板PHP
标题Re: [请益] PHP连结SQL Server
时间Fri Apr 12 11:28:06 2013
※ 引述《miniko70 (胧月夜)》之铭言:
: 想请问一下板上有板友有做过PHP连结SQL SERVER吗?
: 都是使用pdo的方式去下sql语法吗?
: 还是有什麽其他更常用的方法或是有特定的framework可用?
: 如果连SQL SERVER的话,SQL语法会有什麽比较不一样的地方吗?
: 另外PHP连SQL SERVER,和连Oracle,哪个会比较好上手呢?
: 最近遇到一些企业都要用PHP连非MySQL的资料库,不知道是什麽原因
: 是因为MySQL的效能or能处理的范围不够吗?
: (一个主要要串接类似POS系统,不知是不是为了要串接POS才选用Oracle?)
: 问题好像很多@@ 希望有经验的板友可以指教了,谢谢~
刚刚在软体版有推文回覆你, 但这算是PHP的东西了, 所以在这版回文
使用PHP的PDO来做资料库的连线, 首先把各家资料库需要的driver装好,
MSSQL的话, 需要安装php_pdo_sqlsrv.dll在Extensions内,
接着在php.ini要做Extenstion的设定
(如果是Windows环境, 要注意sqlsrv.dll的版本)
程式中的PDO::__construct()用来设定连线的资料种类及帐号密码,
各种资料库稍有差异, 例如:
MySQL =>__construct("mysql:host="._dbhost.";port="._dbport.";
dbname="._dbname, _dbuser, _dbpass);
MSSQL => __construct("sqlsrv:Server="._dbhost.";
Database="._dbname, _dbuser, _dbpass);
剩下就是MySQL和MSSQL语法上的差异了
最後, 你提到可用的Framework? 我是没注意过有没有这种专门for资料库的,
但是以我之前写SQL的习惯, 以Insert来说好了, 最早初学时就是直接一长串SQL
EX: Insert Into Table (name, account, password) Values($name, $account,
$password);
随着栏位越来越多, 加上这种写法在检查时很累人, 後来在某个讨论区看到有人
是先把栏位和资料塞进阵列
EX: $data = array('name'=>$name, 'account'=>$account, 'password'=>$password)
接着写function去处理 PDO的prepare()和bindValue(),
最後把$data送进function做Insert的动作, 之前就习惯这种写法了
最近研究Yii Framework时, 发现它的Insert语法就是这样使用, 还不错,
这应该跟你提的Framework稍微有关系吧?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 1.34.217.118
※ 编辑: cokellen 来自: 1.34.217.118 (04/12 11:41)
2F:→ mirae:en-us/download/details.aspx?id=20098 04/12 14:57
3F:推 miniko70:我之前也有在用Yii~那我再去找找看有没可以连线的好了~ 04/13 12:51
4F:→ miniko70:pdo写法之前也有看一下,用prepare()和bindvalue()好像真 04/13 12:52
5F:→ miniko70:的会比较方便.因为也是在担心用framework搞的话,搞不起来 04/13 12:52
6F:→ miniko70:就要重新砍掉重练了@@~谢谢原po也谢谢楼上的的连结哦︿︿ 04/13 12:54
7F:→ airtsubasa:ADOdb? 04/13 17:13