drupal 哪些函数可以不用手动创建drupal 数据库操作字段

当前位置: >
> Drupal7连接多个数据库及常见问题解决Drupal7连接多个数据库及常见问题解决更新:&&&&编辑:冷亦&&&&来源:哥乖整理&&&&人气:加载中...&&&&字号:|标签:&&&&&&&&&&&&
如果你遇到这些:1.Drupal如何到?2.Drupal到后,但是发现报错,这是怎么了?3.Drupal获取、添加、改动、删除多个数据库时,数据没有正确的写入数据库或者读取到空的数据,怎么?4.只想在Drupal某个函数调用或把持其他数据库,但是失败了?请认真看看后面的介绍,并如何你的。一、Drupal如何连接到多个数据库?允许Drupal连接多个数据库,需要转换$db_url为数组。默认连接单个数据库的URL款式(字符串):. 代码如下:$db_url = 'mysql://username:/databasename'; $db_url = 'mysqli://username:/databasename'; $db_url = 'pgsql://username:/databasename';
支持多个数据库的URL款式(数组):. 代码如下:$db_url['default'] = 'mysql://drupal:/drupal'; $db_url['mydb'] = 'mysql://user:/anotherdb'; $db_url['db3'] = 'mysql://user:/yetanotherdb';
当查询一个不同的数据库时,简单地将数据库通过$db_url的引用键设置为当前活动的数据库,即可。. 代码如下:&?php db_set_active('mydb'); db_query('SELECT * FROM table_in_anotherdb'); // 当数据获取完成后,切换回默认的数据库连接。 db_set_active('default'); ?&
这是Drupal的数据库操作的基本操作。
二、Drupal连接到多个数据库后,,但是发现报错,这是怎么了?
到多个数据库时出现报错,主要可能以下原因:
1.连接到其他数据库时,SQL出错了,这个是人为的代码差错;2.连接数据库时交叉了,所以在其他数据库里找不到数据表,即使SQL正确,也要报错;
法子:针对种情况,请根据SQL报错,来改动SQL语句,就了。第二种情况,请反省数据库连接是否交叉了,意思就是原本想调用另外数据库的数据表,但是数据库连接已经换到其他地方了。数据库连接交叉,请仔细反省db_set_active这个函数之后的SQL语句,是否在active数据库里。
三、Drupal获取、添加、改动、删除多个数据库时,没有正常工作?
1、在Drupal中SQL语句可以不带数据表的前缀,只需要用大括号{}包孕table就可以在数据库操作时加上数据表的前缀。例如:db_query('SELECT * FROM {table_in_anotherdb}');但是一个数据库用户,如果拥有多个数据库的权限时,可以不用在$db_url设置连接到数据库,直接在当前数据库连接上操作就行了。设置$db_prefix来实现跨数据库操作:. 代码如下:$db_prefix = array( &&& 'default' =& ”, &&& 'authmap' =& 'z_', &&& 'profile_fields' =& 'usertable.z_', &&& 'profile_values' =& 'usertable.z_', &&& 'users_roles' =& 'usertable.z_', &&& 'users_fields' =& 'usertable.', &&& 'role' =& 'usertable.z_', &&& 'sessions' =& 'usertable.z_', &&& 'users' =& 'usertable.z_', );
上面的代码作用时,当前Drupal的用户等信息整个usertable,这样多个Drupal就可以共用一个用户信息数据库usertable,其中z_代表数据表的前缀。
a).users表用于存在Drupal用户的基本信息,可以所有用户共用的UID及其基本字段;b).sessions表用于寄放Drupal用户Sessions,可以统计所有站点的在线用户量;c).role表用于寄放所有Drupal站的角色;d).users_roles寄放所有Drupal站的权限;通过上面的$db_prefix可以全局设置应用那个表要用到那个数据库,以及那个表的前缀,这个只是方便在Drupal的SQL语句中应用标准的{table}。
2、如果不通过$db_prefix来设置,那么最直白的法子就是直接把数据库 表名在SQL语句中。
例如:. 代码如下:db_query("SELECT uid FROM test.z_table1 WHERE name = '%s' and pass = '%s'", $name, md5($pass));
上面的SQL语句直接定位到test数据库,z_table数据表。所以当你遇到Drupal获取、添加、改动、删除多个数据库时,数据没有正确的写入数据库或者读取到空的数据,请明确你所把持的数据库、数据表位置是否正确。
四、在Drupal某个函数调用或把持其他数据库
请看下面的function框架代码:. 代码如下:function test_fuc() { & global $db_ //获取全局变量 & $db_url['db_logs'] = 'mysqli://username:/databasename'; & db_set_active('db_logs'); & $ // 此处放置操作db_logs数据库连接的SQL & db_set_active('default'); }特别要主要,$db_url是全局变量,需要在局部函数中用global引用:. 代码如下:global $db_ //获取全局变量设置完数据库后,记得应用db_set_active('default');,设置数据库连接恢复到默认。
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
分类选择您可能在找这些帮设计师节省1,085,543,232小时&nbsp&#8250&nbsp&nbsp&#8250&nbsp
Drupal7的一些基本笔记
最近开始学习Drupal,在网上看到一篇总结Drupal的学习笔记,万事开头难,就从这里开始吧。Drupal的目录结构includes文件夹存放Drupal程序头文件。 Drupal的一些函数和变量的定义,均可在此文件夹下的文件中找到。这些文件都是以.inc结尾的。 misc文件夹Drupal所用的其他文件,如图片, javascript脚本和 css样式表等。
Module文件夹Drupal核心模块的存放目录。但是,如果用户添加自定义模块,或安装第三方模块应放在/sites/all/modules/下。Profies文件夹存放 Drupal安装配置文件。Scripts文件夹Drupal在 Unix/Linux服务器上运行的脚本文件所在目录。一般是进行任务计划配置的。Sites文件夹用户自定义及第三方模块、主题、站点配置文件所在目录。themes和 modules目录是后建立的,下载的模块和模板均放置于对应的目录中。ThemesDrupal自带 theme所在目录。建议用户不要往此目录中放新增 theme。一般情况下,只对 sites目录进行操作。新主题或新的模块等,都会放在这个目录的all或default子目录下。 corn.php 计划任务执行的文件index.php Drupal程序的主页,所有对drupal站点的请求会通过这个文件来处理install.php 安装文件update.php更新文件xmlrpc.php &xmlrpc协议robots.txt &对搜索引擎抓取网站内容的限制文件安装过程添加中文显示效果:将下载的语言包(drupal-7.x.zh-hans.po)拷贝至“/profiles/standard/translations/”目录下安装前请将sites\default目录下的 “default.settings.php”复制一份并重命名为“settings.php”PHP register globals 启用 ('1') 启用了 register_globals。Drupal 需要禁用此设置。若启用 register_globals,可能会造成站点的安全问题。PHP手册里有关于如何更改设置的说明。Error PHP扩展 禁用 Drupal安装需要启用以下的PHP扩展(更多信息参见系统需求页面):pdo php.iniregister_globals = Onregister_globals = Off;extension=php_pdo.dllextension=php_pdo.dll数据库名 用户名 密码名jssd jssd jssd高级选项 设置 不用设置端口号????自动识别???安装中途出错 可再次访问根目录下的install.php【Structure】菜单【Blocks】定义页面显示区块内容的位置在中间还是哪里Configure what block content appears in your site's sidebars and other regions.Sidebar second右侧边块儿Most recent poll 投票Recent blog posts最近发布的博客【Menus】添加菜单 编辑 重命名 组织Add new menus to your site, edit existing menus, and rename and reorganize menu links.Management管理菜单包含管理任务的链接。 list links edit menu add link User menu用户菜单包含与用户帐户有关的链接,以及“注销”链接。 list links edit menu add link 主菜单主菜单在多数站点用于显示站点的主要部分,往往位于顶部导航栏。 list links edit menu add link 首页 ? 管理 ? Structure ? Menus ? 主菜单主菜单给首页页首导航添加栏目:首页 ? 管理 ? Structure ? Menus ? 主菜单主菜单 路径的填写:blog是博客 poll是投票 节点可以直接添加 如 关于我们 node/2 就行了。文章发布的下面menu setting Provide a menu link 权重 选择上 可以在 主菜单里直接显示导航导航菜单包含供站点访问者使用的链接。一些模块会自动向导航菜单添加链接。 list links edit menu add link 【内容类型】 新闻类型 评论等等类型Manage content types, including default status, front page promotion, comment settings, etc.【分类】Manage tagging, categorization, and classification of your content.Drupal7的dashboarddashboard 仪表盘 Customize dashboard
上一篇: 安装的时候如上图所示,某些情况下还会出现两个提示,不过只要是提到了pdo那么就在php的配置文件php.ini中搜索pdo: extension=php_pdo.extension=php_pdo_firebird.extension=php_pdo_mssql.dllextension=php_pdo_mysql.extension=php_pdo_oci.
下一篇: 设计开发一个网站的时候选择合适的内容管理CMS系统是一项困难的事,对于新手来说更是这样。 有的CMS系统由丰富的功能,可以用它来解决复杂的网站功能需求,但是对于很多简单的个人网站,很多过于丰富的功能往往没有任何价值,过于复杂的系统会让管理人员被系

我要回帖

更多关于 drupal 数据库操作 的文章

 

随机推荐