问题标签 [pdostatement]

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

php - Yii CDbCommand queryAll() 返回错误结果

我正在使用 Yii CDbCommand 从 mysql 获取结果。
我在 mysql 查询和 var_dump Yii 的 CDbCommand SQL 中都记录了 SQL。
一样的。我通过 CDbCommand->queryAll() 得到结果。
但结果与在 phpMyAdmin 中运行相同的 SQL 不同。

这个 SQL。我从 queryAll 和 phpMyAdmin 得到 6 个结果。
但只有 3 个是相同的。其他3个不一样。
有点奇怪。

编辑: 最奇怪的是几分钟后这个问题就消失了。
并出现在另一个'LIMIT 6 OFFSET xx'中。
xx 不是一直都一样。
所以我认为这是 PDO 或 Yii 中的任何缓存机制?

0 投票
1 回答
87 浏览

pdostatement - 错误:PDOStatement::execute(): SQLSTATE[HY093]: 无效参数号:

我写了一个这样的函数:

结果还可以,但会附加警告

“PDOStatement::bindValue(): SQLSTATE[HY093]: 无效参数号: :sohieutoba ...”

,如果我同时输入$sohieutoba$sothututhu,结果没有任何警告,我不知道我错在哪里。任何建议将不胜感激。

0 投票
1 回答
48 浏览

php - 确定 PDO 中的语句类型

长话短说。我有一个处理数据库查询的类,它根据传递给它的语句类型在某个时候分叉。如果它是 a SELECT,它会做一些事情。如果它是 (successful) INSERTUPDATE或者DELETE它会做其他事情。我依靠它PDOStatement::rowCount来确定它,它在我以前的系统上运行良好。然而,在将类移植到另一个服务器后,PDOStatement::rowCount行为发生了变化(它现在返回SELECT语句返回的行数)。我在 PHP 手册中读到这种行为可能会发生,并且它不一致并且取决于数据库。

所以我的问题。是否有另一种万无一失的方法来确定传递给 PDO 的语句类型?我想我可以编写一个方法来分析语句的语法并将其添加到类中,但也许还有其他方法(内置方法?)在这种情况下,我不应该尝试重新发明轮子。谢谢。

0 投票
1 回答
87 浏览

php - PHP PDOStatement prepare 和 bindValue 方法

为什么下面的代码不起作用?

当我打印 $select 它的结果:

谢谢!

0 投票
3 回答
12195 浏览

pdo - 致命错误:未捕获的异常 'PDOException' 带有消息'SQLSTATE [42S22]:找不到列:1054 'where 子句'中的未知列 'id''

?>

有人可以帮助我吗?为什么我得到未捕获的异常 'PDOException' 并带有消息'SQLSTATE [42S22]

对不起,我的英语不好,谢谢

0 投票
2 回答
1504 浏览

php - 为什么 PDO debugDumpParams 会截断查询

我在这里发现了同样的问题,但没有得到解答,我在这里提供了更简单的例子,然后再试一次......

代码:

结果:

为什么会发生,如何解决?
提前致谢!

0 投票
2 回答
80 浏览

php - PDO::prepare() 如何生成 PDOStatement 对象?

执行如何在 PDOStatement 类中设置只读 属性?$queryStringPDO::prepare()

鉴于类定义,我看不到任何可以设置该查询的函数。PDO::prepare()这是否意味着如果不是由 PDO 类实例通过函数生成的 PDOStatement 类就不能使用?

0 投票
1 回答
45 浏览

php - PDOStatement 中可捕获的致命错误

我不确定我做错了什么。我的代码应该从 mysql 中的用户表中读取 user_id,然后在下一个 sql 语句中使用它来读取该销售人员过去一周的销售行,然后生成 PDF。在第 56 行,我收到一个可捕获的致命错误:PDOStatement 类的对象无法转换为字符串,但据我所知它应该是一个字符串。任何帮助将不胜感激!

我想知道它是否与 MySQL CONCAT() 有关?不过,我真的不知道匹配销售人员信息的更好方法,因为名字和姓氏是分开的,而且销售报告中没有他们的销售 ID,所以名字是两个表之间的唯一参考点。谢谢!

0 投票
0 回答
338 浏览

php - 致命错误:在 null 上调用成员函数 bindParam()

我需要一些帮助。我有一些嵌套的 SELECT 语句,它们获取用户的 ID,然后使用该 ID 搜索 MySQL 中的另一个表。如果文件系统中没有用户,我有一个 foreach() 循环,它使用第一个查询中的 user_id 为用户创建一个文件夹。然后我使用 bindParam() 为其分配一个变量并在另一个查询中使用它来获取用户名。但是,它会抛出异常,提示“在第 29 行的 C:\foo\bar\foobarscript.php 中调用一个成员函数 bindParam() on null”。这是我的代码,直到休息...

我已经上下搜索并尝试重写它,逐个调试。一切正常,直到我将它们重新组合在一起并再次出现此错误。我真的很感激任何帮助!

编辑:我什至尝试删除分配的变量和绑定,如:

0 投票
1 回答
27 浏览

postgresql - Yii 查询结果切断别名

我的查询中有一个很长的别名,但我认为它没有超出允许的限制。我正在使用 Postgres 数据库和 Yii 1.1.15。查询运行良好并返回正确的值,但我的结果切断了结果数组中的别名。

这是我的查询:

我的结果如下所示:

请注意,我的结果数组的键是“贵公司/部门/位置将有多少条生产线”而不是“贵公司/部门/位置需要多少条生产线”