问题标签 [mdb2]

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 回答
1246 浏览

php - 一起使用 MDB2 和 MySQLi(好还是坏?)

我想使用 PEAR Mail_queue 包,它需要 PEAR MDB2 包进行数据库抽象。

我目前使用 MySQLi 进行所有数据库查询,并不真正希望使用 MDB2。

在我的 PHP 应用程序中同时使用 MDB2 和 MySQLi 会是不好的做法吗?

谁能给我一个充分的理由一起使用 MDB2 而不是 MySQLi?

谢谢。

0 投票
1 回答
184 浏览

php - 复杂的 SQL 查询...返回变量的名称

对不起,我确定对你们大多数人来说是一个基本问题,但我有一个问题,来自不同表的表列彼此同名,并试图从同一个查询中的两个表中进行选择。

好的,这是我的代码:

表 memberlist 具有以下列:id、email、list、sex、name

并且表 mail_lists 具有以下列: id, name

运行查询后,我稍后使用 foreach 循环遍历结果,如下所示:

问题是 mail_lists 中的“name”列指的是列表的名称,而 memberlist 中的“name”列指的是成员的名称。

当我稍后访问 $l->name(在 foreach 中)时,我会得到 m.name 还是 l.name?此外,我如何访问另一个?

还是我只需要做两个单独的查询?

0 投票
1 回答
702 浏览

php - 带有 SQL Express 2008 的 MDB2

所以基本上这是我的问题。我正在寻找一种解决方案,让我们能够连接 SQL Express 2008,同时仍然使用 MDB2 作为我们的数据库抽象层。我需要这样的东西,主要是因为我们仍然需要能够使用 MySQL 和 Postgres(而且 ORM 在这个时候似乎不是一个选项)。

最好有一个适用于 PHP5.2 和 PHP5.3 的解决方案。

起初,我走上了 php_mysql 扩展之路……不过,似乎这在 PHP 5.3 中不可用。

php_pdo_mssql 似乎不适用于 MDB2,所以这似乎已经过时了。

最后,还有 MS 开发的“SQLSRV”扩展,虽然似乎曾经有过针对它的 MDB2“扩展”的工作,但它似乎从未进入主分支。

请问...有没有人有我的解决方案?

0 投票
3 回答
4238 浏览

mysql - MDB2、Pear、Mysql 错误

我安装了 PEAR、MDB2 和 Mysql 驱动程序,但我不断收到:

服务器是 CentOS

我被卡住了,任何帮助都会得到帮助。

谢谢 :)

0 投票
1 回答
852 浏览

php - SQL Server 中的 Pear MDB2 类和 raiserror 异常

在 SQL Server 中,可能会使用 raiserror() 引发错误。我想使用不中断连接的严重性。此错误在存储过程中引发。在 SQL Management Studio 中一切正常,执行此 SP 时出现错误代码。但是当试图在 PHP5 中通过 MDB2 执行这个 SP 时,这是行不通的。我得到的只是一个空数组。

MDB2 对象通过以下方式创建(包括所需的选项):

以下工作(我收到 PEAR 错误):

但是,当调用通过以下方式引发此错误的存储过程时

没有输出。怎么了?

0 投票
1 回答
1020 浏览

php - 通过 pdo 让 MDB2 与 sqlite3 一起工作

我正在使用MDB2_Driver_pdoSqlite通过 PEAR 访问 sqlite3 数据库。我能够连接到数据库并使用 显示表列表listTables(),但是当我尝试运行 mdb2 函数时tableInfo()出现错误。MDB2 Error: not found [Error message: primary is not an existing table constraint]我正在运行以下系统:

  • macOS X 10.5.8
  • PHP 5.3.0
  • sqlite 3.6.23.1
  • MDB2 2.5.0b2
  • MDB2 PDO SQLite3 驱动程序 v1

关于导致此错误的原因以及如何修复它的任何想法?

0 投票
1 回答
999 浏览

installation - MDB2 pear windows 安装

我正在寻找在我的系统上安装和使用 MDB2 pear 的指南。我用的是iss7和w​​indows vista....我读了手册但是我不太明白...

0 投票
1 回答
116 浏览

php - MDB2 自动准备问题

我正在为我的网站使用 mdb2,但遇到了问题。我的表中有一个 order_no 字段,我希望有一个默认值,如 LAST_INSERT_ID() + 1。是否可以为 mdb2->autoExecute 的这种 mysql 函数设置数据类型?

谢谢你。

0 投票
1 回答
634 浏览

php - 修改一个类来封装而不是继承

我被交给使用的代码库具有一个继承自MDB2的数据库类。这构成了使用中的 MVC 框架(自定义构建的事务)的基础,而模型又继承自 db。

我相信你们中的一些人已经注意到,这会导致一个相当大的问题。每次实例化模型时,都会创建一个新的数据库连接。这显然是相当浪费的。这也意味着我无法按预期使用事务,因为如果事务在模型的一个实例中开始,则在提交发生之前,其他实例将看不到它的影响。

我的计划是更改 db 类以封装 MDB2 而不是从其继承,然后让它通过其单例功能维护 MDB2 的单个实例。

然而,MDB2 是一个包含很多方法的大型库,代码库中的很多东西都依赖于能够访问 MDB2 方法。

有没有一种方法可以封装 MDB2 类并将调用传递给它,而无需修改更高层,并且不必为 MDB2 中的每个方法编写包装器方法?

0 投票
2 回答
1022 浏览

php - Character encoding issues: MySQL 5.0 + PHP 5.2

I have a MySQL database with an InnoDB table containning utf8_general_ci varchar fields. When I fetch them through PHP (via PEAR::MDB2) and try to output them (via Smarty), I get ??? symbols. I would like to know how to fix that problem, which is most likely caused by PHP.

Good information to know:

  • It is a new version of the site I'm working on, the old version had the same problem even though it didn't use Smarty nor MDB2, so they are most likely not the cause. The old programmer used htmlentities() to remedy the problem, but I'm trying to avoid that.
  • The character encoding of all my files (template, source, etc.) is UTF-8 without BOM.
  • When I display a page, all accented characters (the ones in the templates, not the ones coming from MySQL) are shown correctly and the encoding in the browser is UTF-8. If I manually switch it over to ISO-8859-1, then the character from MySQL are outputed correctly, but no the others.

Basically, it seems that PHP or MySQL transforms the UTF-8 data contained within the database to ISO-8859-1 at some point during the query/fetch process, and that is what I want to fix.

I've done a lot of searching but haven't found any solution, and I'm hoping the problem lies in a setting somewhere. I'd like to avoid having to use htmlentities() or utf8_encode(), however that might be the only way to go until PHP6 shows up.

Thank you for your input on this!