使用 PHP 框架 Yii 访问 MS SQL 的尝试
2015-07-25 22:09
671 查看
今天尝试在 Wamp 环境下访问 MS SQL 数据库,有以下心得。使用 PHP 5.3 + pdo_odbc + Yii 1.1 框架,以下两个代码段可以成功。
1、直接使用 PDO 方式,可以获取数据。
2、如果在配置文件中对 db 属性进行配置,可以使用 CDbCommand 类查询数据。
3、最激动人心的一步,使用 CActiveRecord,失败了。
如果查询所有表的名称,
$rs = Yii::app()->dbHuaiWater->schema->tableNames;
可以得到所有的数据表的名称。但是 Gii 无法自动生成模型,总是提示指定的表不存在。即使人工编辑模型子类也无法执行数据查询。
1、直接使用 PDO 方式,可以获取数据。
$sql = "SELECT TOP 10 [NAME],[STCD],[TM],[PA] FROM AT_PA"; $cnx = new PDO("odbc:Driver={SQL Server};Server=10.5.1.47;Database=mydb;",'username','pass'); var_dump($cnx); $rs = $cnx->query($sql); var_dump($rs); foreach ($rs as $b) { var_dump($b); }
2、如果在配置文件中对 db 属性进行配置,可以使用 CDbCommand 类查询数据。
//配置代码 return array('components' => array( 'db' => array ( 'driverName'=>'mssql', 'connectionString' => 'odbc:Driver={SQL Server};Server=127.0.0.1;Database=mydatabase;', 'username' => 'username', 'password' => 'pass', ), )); //查询代码 $sql = "SELECT TOP 10 [NAME],[STCD],[TM],[PA] FROM AT_PA"; $rs = Yii::app()->db->createCommand($sql)->queryAll(); var_dump($rs); foreach ($rs as $b) { var_dump($b); }
3、最激动人心的一步,使用 CActiveRecord,失败了。
如果查询所有表的名称,
$rs = Yii::app()->dbHuaiWater->schema->tableNames;
可以得到所有的数据表的名称。但是 Gii 无法自动生成模型,总是提示指定的表不存在。即使人工编辑模型子类也无法执行数据查询。
相关文章推荐
- Ubuntu下的PHP开发环境架设
- php报错:Warning: Phpinfo() Has Been Disabled For Security Reasons
- 【YII2学习笔记】20150725-2
- php函数strip_tags标签未闭合的情况
- 初学php做的有关php有关知识的了解
- php-fpm 启动不了 libiconv.so.2找不到
- PHP中的时间和日期
- mysql与php的链接
- phpCMS二次加密
- php实现QQ空间获取当前用户的用户名并生成图片
- yii 直接执行sql
- 使用纯php代码实现页面伪静态的方法
- 分类的评判标准:TP、TN、FP、FN
- 分类的评判标准:TP、TN、FP、FN
- PHP判断用户登录状态
- PHP验证登录状态和安全性
- PHP防注入攻击
- PHP生成图片验证码、点击切换实例
- 一个漂亮的PHP验证码
- 一个漂亮的php验证码类(分享)