问题标签 [database-abstraction]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1096 浏览

php - 模型中的高级搜索 (MVC)

我想创建一个高级搜索,如下所示:

  • 文本框:查找
  • 下拉列表:搜索方式:姓名、位置或电话
  • 下拉菜单:按 Asc 或 Dec 排序
  • 下拉列表:按姓名、位置或电话排序
  • 下拉:在日期之间搜索(如果选择)

在模型的函数中添加这些参数的正确方法是什么?

我想出了这个解决方案:

编辑:我说的是变量——findBy($find, $searchBy, $order, $sort, $betweenDate)我需要所有这些参数还是有替代解决方案?

0 投票
1 回答
358 浏览

sql - libdbi 中的预处理语句

我想使用 libdbi 使应用程序与数据库无关。我想使用准备好的陈述。如何在 libdbi 中使用准备好的语句?我看到的所有示例都使用普通的 select bla from blub where foo; 语句并使用 libdbi 提供的转义函数进行输入转义。

如果在 libdbi 中无法做到这一点,您能否推荐另一个可以做到这一点的 db-abstraction-library 或解释为什么这样的功能没有意义?

0 投票
2 回答
145 浏览

php - PHP write Program for whatever Database

one question about PHP Development. I am building up some Form Fields for Calculations. Jquery Calculates and sends the Integer Values to a PHP Script via ajax. This Scripts selects some values from a Database, calculates and returns the values to the form field.

Now the question. I am used to Mysql thus I´m using the PHP Mysql functions to select the values. Later the Datasource should be a Postgres SQL. Whats the best programming way to get independent from the datasource. Is there a kind of design pattern to use for this issue?

regards,

Tony

0 投票
1 回答
88 浏览

jquery - 将数据从控制器传递到控制器再到模型

我正在为我正在开发的网站进行一系列测验,但在保存用户数据时遇到了一些麻烦。结构有点奇怪,所以这可能与即将出现的问题有关。我的测验控制器标记为 Quiz1、Quiz2 等,并加载一个名为 Quizzer 的函数,在 jquery 中进行监听。每当在测验页面上单击单选按钮时,jquery 都会激活 Quizzer 以记录用户输入。这是示例代码:

这是加载页面的代码:

值 4 被传递给 Quizzer,因此它知道要在数据库中写入哪个测验。

这是控制器测验器:

$user_id 告诉哪个用户登录了 $data 和 $question 标识用户从哪个组单击了哪个单选按钮。

$qid 应该指出用户在哪个测验页面上,在这个测试的情况下,它回显了一个 4,所以我知道它正在获取数据,但它仍然不会写入数据库。我发现手动输入 4 而不是 $qid 会使函数工作,但当前的 $qid 变量不会被接受。

这是保存到数据库的模型函数:

我尝试将 $quiz 强制转换为 int 以尝试使数据类型匹配,但这个技巧也不起作用。基于当我手动输入 4 而不是将其作为变量传递时函数的行为方式,这看起来像是数据类型的问题(这就是我尝试进行类型转换的原因)。

0 投票
1 回答
2433 浏览

php - CodeIgniter 的示例模型中的属性是什么?

在 CodeIgniter 用户指南中,示例模型具有对应数据库表中每个字段的属性:

但是,当它返回一组博客文章时,它们只是通用对象。

如果每篇博文都只是一个通用对象,那么类开头的属性的目的是什么?

将每篇博客文章作为一个完整的模型对象填充其内容似乎会很好。然后你可以编写在内部获取值的方法。但是,用户指南中的所有示例似乎都显示每个控制器都有每个模型的一个实例,并使用该对象来获取包含数据库值的通用对象。此外,示例实例化模型 ( $this->load->model('Blog');) 的方式很明显,您只希望在控制器中拥有一个模型实例。

如果我的博客文章有一个status以整数形式存储在数据库中的值,但在几个不同的控制器中,我想将该值显示为人类可读的字符串,那么该函数/方法应该放在哪里?由于我在多个控制器中需要它,并且它特定于一个对象,我认为它应该是模型对象的一种方法。如果每篇博文都是模型的一个实例,我可以这样写:

但是,如果每篇博文都是一个通用对象,则它必须如下所示:

CodeIgniter 哪种方式更惯用?假设是第二个,为什么示例模型定义了这些内部属性?

最后,对于加分,如果我还有其他类似的问题,我应该看哪些书籍、文章或示例?

0 投票
2 回答
3706 浏览

php - 如何集成两个不同的应用程序?网络应用

大家好,我是一名学生,在医院从事一个项目,我们设计了一个应用程序,患者可以在该应用程序中预约与此应用程序类似的医生 (apphp.com/php-medical-appointment/examples/sample2/index.php) 和我们的应用程序使用 php 和 mysql 并在 microcms 框架上运行现在我们要做的是让这个应用程序与 MedTrak (http://www.intersystems.com/trakcare/) 集成,它使用 CACHE DB (Intersystems Cache db a post relational db)我们已经使用 mysql 编写了我们的应用程序,所以有什么可能的方法可以将数据从我们的应用程序发送到他们的数据库。从他们的 db 中获取数据 到目前为止,我们已经尝试了这些方法 odbc 它会起作用吗,因为我们必须再次在 ODBC 中编写我们的应用程序

帮助

0 投票
2 回答
736 浏览

php - MVC - Codeigniter - 视图与模型对话

在我在 StackOverflow 上看到的围绕 MVC 架构的大多数帖子中,人们都说模型应该只从控制器进行通信,而不是从视图进行通信。

我对此有点困惑,因为当您使用 Google MVC 时: - http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller - http://i.msdn。 microsoft.com/dynimg/IC108622.gif 图形似乎表明存在从视图直接到模型的通信。

我想知道的具体应用程序是一个 Ajax/jQuery 分层选择框,就像这里的http://kotowicz.net/jquery-option-tree/demo/demo.html一样。每次选择后,我都在考虑从模型中获取下一个框的数据。我正在使用 Codeigniter 框架。

就在这里的最佳实践进行了一些专业知识之后。

0 投票
2 回答
3695 浏览

php - PHP 和 MySQL 的简单数据库抽象

这是我在这里的第一篇文章,如果我可以改进这个问题,请告诉我。

我正在更新网站。简而言之:它处理用户订阅并跟踪销售(我生产的产品)。我想保留我的选项,以便在不久的将来为其添加新功能。它是使用 PHP 和 MySQL 构建的。

我已经有 5 年没有认真更新过代码了,我正试图抓住这个机会,让整个代码更易于管理和更新。特别是,我试图让与数据库的交互变得更好。

我玩过ezSQL,它可以让我以非常简洁的方式与数据库交互,例如:

我真的很喜欢它:我很快就得到了一个我可以使用的对象,它使代码更易于阅读,不像以前那样有那么多 mysql_* 函数,也没有到处都是 SQL 查询。

如果它对 SELECT 查询很好,那么它对 INSERT 语句没有太大帮助,我最终可能会得到如下所示的代码:

它可能会更糟,但仍然不是那么好经历。对我来说最糟糕的是,它根本不像前面的例子那么简单。

因此,给定以下表结构和 PHP 对象:

我想要一个简单的库,可以让我这样做:

...并为我将类的每个成员与数据库中同名的列匹配,并相应地插入数据。

我的问题是:有这样的图书馆吗?如果不是,为什么这是一个坏主意。

我一直在阅读有关 MVC 的内容,但我认为这对这个项目来说太过分了。它会增加无关紧要的复杂性而不是简单性。例如,我不需要脚手架,也不需要任何为我生成默认代码的东西。另外,我不想最终陷入一个对于这样一个简单的项目来说太过分的框架。

所以我一直对 PHP 的数据库抽象层(例如:ADOdb、PDO)很好奇,但我还不清楚它们主要是为了缩短编写代码(我的预期用途)还是为各种数据库编写代码更轻松。我不介意我的代码只适用于 MySQL。我只是想为了清楚起见而抽象它,而不是兼容性。

不必为 PHP 测试每个 DAL,有人可以根据经验和上述简单的预期用途提供反馈吗?

感谢您的帮助。

0 投票
1 回答
47 浏览

php - 不允许安装 PEAR 模块的主机的数据库抽象选项

预期主机不允许 PEAR 模块,但 VPS/专用帐户除外。负担不起在业余爱好网站上的 VPS 上每年花费 2000-3000 美元,因此该选项已失效。

我想添加一些数据库抽象并使用 MDB2 在本地重新编码我的大部分站点,然后再遇到当前主机的问题(堆叠服务器、旧硬件、性能缓慢)。

是否有在没有本机 PEAR 模块的情况下实现 DB 抽象的选项?

0 投票
0 回答
296 浏览

php - 在 Codeigniter 中使用 My_Model 插入许多表

我有一个用 codeigniter 开发的网站。我在没有验证的情况下插入了我的数据库。现在我想使用 My_Model (一个扩展模型来验证我的字段,许多开发人员使用它来验证从 github 下载的 codeigniter 中的字段)但是如果在我的函数中我必须在不同的表中插入更多内容?我该怎么做?因为例如,如果我有一个产品,我将它的数据插入到数据库中,现在SELECT LAST_INSERT_ID我使用它的 id 并将具有该 product_id 的图像插入到一些函数中,如下所示:

现在有了 My_Model 我有这个功能:

问题是:在 Nation_Model 我有一个 validate 数组来检查我的字段,在 Img_Model 我有另一个像这样的 validate 数组(只是一个例子):

但是当我尝试插入时:第一个插入没问题,第二个插入不取Img_Model的验证数组,而是取nation_Model的validate_array。我该如何解决这个问题?