当前位置:首页 » 操作系统 » yii的数据库操作数据库

yii的数据库操作数据库

发布时间: 2022-05-20 01:40:54

Ⅰ yii 2.0 数据库,怎么实现跨库2张表的绑定

本文实例讲述了Yii操作数据库实现动态获取表名的方法。分享给大家供大家参考,具体如下: yii 获取某个库中的表名,而且这个库不确定表的多少,此时没法按照gii去根据表去生成文件,这里有个方法去解决掉。 $sqls = "show tables"; $datebase = YII::app()->db_order->createCommand($sqls)->queryAll(); //获取表名 这里$datebase 就是所有的表名,我当前有4个库,一个网站公用这4个库,有时候会来回切换。db_order为main.php中定义的4个库中的一个,其他库分别为db db_order db_query db_log .然后你就可以把这个库中的所有表中的数据获取到。而不用去生成。 该方法一般用于游戏平台,比如我当前有一个库专门去存放订单的,呢么这个库架设是db_order 此时我就需要把当某个用户的所有充值的记录(订单)获取到 更多关于Yii相关内容感兴趣的读者可查看本站专题:《Yii框架入门及常用技巧总结》、《php优秀开发框架总结》、《smarty模板入门基础教程》、《php日期与时间用法总结》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》 希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

Ⅱ yii 数据库处理

public function sum($criteria){

$criteria->select = 'sum(id)';
$aResult = Model::model()->findAll($criteria);
}
然后你可以把这个写在一个模型里,控制器调用就行

Ⅲ YII连接数据库总是错误,请问谁有办法

1、最普遍的原因是匿名用户帐号(IUSR_MACHINE)对该数据库文件没有写权限。 要解决这个问题,在管理器中调整数据库文件的属性,让匿名用户有正确的权限。当使用ACCESS数据库时,不仅要给文件写的权限,还要给该目录写 的权限,因为Jet需要在该目录建立一个.ldb文件。
2、第二个原因是数据库没有使用正确的模式打开。应该使用下面的方法打开。 SQL = "UPDATE Procts Set UnitPrice = 2; " Set Conn = Server.CreateObject( "ADODB.Connection ") Conn.Mode = 3 '3 = adModeReadWrite Conn.Open "myDSN " Conn.Execute(SQL) Conn.Close 注意默认的Mode是设置0(adModeUnknown),它是允许更新的。
3、还有可能是在ODBC管理器中将该DSN的只读选项选中。
4、你是在同时更新两个表中的字段,也会出现这个错误信息,解决办法是分开来更新这两个表中各自字段。
5、当你使用了一个从低版本中(如ACCESS2.0,ACCESS7.0)载入到高版本(ACCESS 2000)中的查询时,在执行这个查询是会出现该错误。

Ⅳ yii2 连接oracle数据库 怎么用

操作步骤如下:
1、请先保证oracle可以正常运行。

2、打开Eclipse,找到逗Window地--逗Show View地--逗Other...地

3、在弹出的新窗口中,打开文件夹逗Data Management地找到逗Data Source Explorer地,并单击逗OK地。

4、这时候,Eclipse主界面下方会多出一个逗Data Source Explorer地标签栏,在其中逗Database Connections地文件夹图标上单击右键,选中逗New...地。

5、出现新窗口,找到自己正在使用的数据库"Oracle",自行起个名字,在此起了"cityinfo"这个名字。然后单击逗Next>地

6、出现如下窗口时,请单击右上方图中所示的符号(位置),注意此步骤。

7、紧接上步,在新的对话框中,找到所使用的oracle版本,建议选用Oracle Thin Driver。

8、找到JAR List,若大家使用的是oracle11,请将其中的ojdbc14给remove掉,否则,Eclipse会不停提示出错。

9、按着上一步remove掉ojdbc14后,请导入目前正使用的oracle的驱动包,这里用的是oracle11,因此,需要导入ojdbc6,这一驱动包在oracle安装文件中就有。

10、进入properties标签栏,输入自己所建数据库相关内容,这里在oracle中建的用户名是逗cityinfo地。这一步各自的信息可能不同,请自行决定。然后单击逗OK地。

11、上步点击逗OK地后,会返回前一个窗口,这时,Eclipse会提示要求输入"user name"用户名,就是大家所建立的数据库的名称,不是任意起的名字。输入后,可单击下方的"Test Connection",当提示逗Ping Successed!地时,表示Eclipse和oracle连接成功。然后单击逗Finish地完成配置。

12、此时,要做的工作就是在Eclipse中,用视图显示出所建数据库中的各表。回到Eclipse主界面,找到如下图所示位置,在"tables"中,任意表点击右键,选择逗Data地--"Sample Contents"。

13、出现新的标签栏SQL Results,里面显示的就是数据库中所存的表的信息。

Ⅳ yii操作数据库时若数据库的字段名是数据库的关键字怎么解决

给关键字加上 `关键字` ,就好了
一、执行原生太SQL的PDO方式。

复制代码代码如下:
$sql = "";//原生态sql语句
xx::model()->dbConnection->createCommand($sql)->execute();

二、Active Record方式
(1)New 方式

复制代码代码如下:
$post=new Post;
$post->title='sample post';
$post->content='post body content';
$post->save();

(2)Criteria方式
也可以使用 $condition 指定更复杂的查询条件。 不使用字符串,我们可以让 $condition 成为一个 CDbCriteria 的实例,它允许我们指定不限于 WHERE 的条件。

复制代码代码如下:
$criteria=new CDbCriteria;
$criteria->select='title'; // 只选择 'title' 列
$criteria->condition='postID=:postID';
$criteria->params=array(':postID'=>10);
$post=Post::model()->find($criteria);

一种替代 CDbCriteria 的方法是给 find 方法传递一个数组。 数组的键和值各自对应标准(criterion)的属性名和值,上面的例子可以重写为如下:

复制代码代码如下:
$post=Post::model()->find(array(
'select'=>'title',
'condition'=>'postID=:postID',
'params'=>array(':postID'=>10),
));

当一个查询条件是关于按指定的值匹配几个列时,我们可以使用 findByAttributes()。我们使 $attributes 参数是一个以列名做索引的值的数组。在一些框架中,此任务可以通过调用类似 findByNameAndTitle 的方法实现。虽然此方法看起来很诱人,但它常常引起混淆、冲突和比如列名大小写敏感的问题。
三、Query Builder 方式

复制代码代码如下:
$user = Yii::app()->db->createCommand()
->select('id, username, profile')
->from('tbl_user u')
->join('tbl_profile p', 'u.id=p.user_id')
->where('id=:id', array(':id'=>$id))
->queryRow();

Ⅵ Yii2框架操作数据库的方法分析【以mysql为例】

本文实例讲述了Yii2框架操作数据库的方法。分享给大家供大家参考,具体如下:
准备数据库
DROP
TABLE
IF
EXISTS
`pre_user`;
CREATE
TABLE
`pre_user`(
`id`
int(11)
AUTO_INCREMENT
PRIMARY
KEY,
`username`
varchar(255)
NOT
NULL,
`password`
varchar(32)
NOT
NULL
DEFAULT
'',
`password_hash`
varchar(255)
NOT
NULL
DEFAULT
'',
`email`
varchar(255)
NOT
NULL
DEFAULT
'',
`status`
smallint(6)
NOT
NULL
DEFAULT
10,
`created_at`
smallint(6)
NOT
NULL
DEFAULT
0,
`updated_at`
smallint(6)
NOT
NULL
DEFAULT
0
)ENGINE=InnoDB
DEFAULT
CHARSET=utf8mb4;
配置连接
config\db.php
<?php
return
[
'class'
=>
'yii\db\Connection',
'dsn'
=>
'mysql:host=localhost;dbname=yii2',
'username'
=>
'root',
'password'
=>
'root',
'charset'
=>
'utf8mb4',
'tablePrefix'
=>
'pre_'
];
查看数据库连接是否成功
控制器里打印:
var_mp(\Yii::$app->db);
怎么执行SQL语句?
增删改
//
接收表单的数据
$username
=
'jack';
$sql
=
"INSERT
INTO
{{%user}}
(username,status)
VALUES
(:username,:status)";
//
返回受影响行数
$row
=
\Yii::$app->db->createCommand($sql,['username'=>$username,'status'=>8])->execute();
//
获取自增ID
echo
\Yii::$app->db->getLastInsertID();
查询
$sql
=
"SELECT
*
FROM
{{%user}}
WHERE
id>:id";
//
查询结果是一个二维数组
$userArr
=
\Yii::$app->db->createCommand($sql,['id'=>1])->queryAll();
//
如果要查询一个
$user
=
\Yii::$app->db->createCommand($sql,['id'=>1])->queryOne();
//
如果要返回单值
//
例如
select
count(*)语句
$count
=
\Yii::$app->db->createCommand($sql,['id'=>1])->queryScalar();
echo
$count;
更多关于Yii相关内容感兴趣的读者可查看本站专题:《Yii框架入门及常用技巧总结》、《php优秀开发框架总结》、《smarty模板入门基础教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。
您可能感兴趣的文章:Yii2.0高级框架数据库增删改查的一些操作Yii2——使用数据库操作汇总(增删查改、事务)Yii2数据库操作常用方法小结Yii2框架实现数据库常用操作总结Yii2实现跨mysql数据库关联查询排序功能代码Yii+MYSQL锁表防止并发情况下重复数据的方法Yii
连接、修改
MySQL
数据库及phpunit
测试连接Yii实现MySQL多数据库和读写分离实例分析Yii操作数据库实现动态获取表名的方法Yii操作数据库的3种方法

Ⅶ 如何设置yii数据库的长连接

  1. 在配置文件设置属性:webb/config/main.php中添加persistent或者attributes属性;

  2. 检测是否成功启用长连接
    可以调用frameworkdbCDbConnection.php下的getPersistent()函数,返回true为启用成功,false为启用失败;

  3. 如果使用了长连接而长期没有对数据库进行任何操作,那么在timeout值后,mysql

  4. server就会关闭此连接,而客户端在执行查询的时候就会得到一个类似于“MySQL server has gone away“这样的错误。

    望采纳,谢谢!

Ⅷ yii操作数据库失败,请高手指点

看你的代码,有个地方我看不懂,
1、$model=new User();echo 123;exit;
exit;不是die;的别名吗?后面的代码好像不能执行吧....

如果不是这个原因,那么很可能是对象的安全性问题,不允许你插入数据
解决:在User Model类里
public function rules()
{
return array(
array('name', 'safe'),
),
}
注:大概是这么写的,我忘记1.x版本的写法了,你可以参考下官网的中文手册(模型那一章)

tips:使用yii 的log组件,自己发现问题,解决起来更快(方法你就自己搜索吧)

如果没有解决,把操作的错误描述多一点,看看是不是还有其他的原因

Ⅸ yii2 如何连接数据库

热点内容
电脑电脑直连通讯ftp 发布:2025-01-13 15:38:03 浏览:717
nvm存储 发布:2025-01-13 15:36:19 浏览:552
京东架构师缓存经验 发布:2025-01-13 15:33:00 浏览:726
android图片颜色 发布:2025-01-13 15:26:09 浏览:268
国家税务总局电脑服务器 发布:2025-01-13 15:10:24 浏览:596
金立老款机的开机密码是多少 发布:2025-01-13 15:04:45 浏览:456
湖南网上办税初始密码多少 发布:2025-01-13 15:02:49 浏览:417
怎么使用笔记本连接服务器 发布:2025-01-13 15:02:48 浏览:705
长城cs75plus选哪个配置 发布:2025-01-13 14:54:05 浏览:22
php与大象 发布:2025-01-13 14:48:34 浏览:344