问题标签 [mysqli]

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 投票
4 回答
4606 浏览

php - mysqli->error: 是只针对最后一个查询,还是针对查询组的最后一个错误?

我是 mysqli 的新手,并试图确认如果我像下面这样,errno 将设置为最后一个错误(如果有),而不是最后一个查询的错误。

这是一种体面的做法,还是我应该检查每个查询之间的错误?

谢谢!

0 投票
1 回答
1658 浏览

php - MySQL 准备好的查询是否为每会话一次查询提供了性能优势?

根据文档,如果您多次运行查询,准备好的查询会提供显着的性能优势,因为 MySQL 服务器解析查询的开销只发生一次。我想知道那里的“多次”到底是什么意思。

即,假设您有一个网页运行一次查询。现在假设该页面每秒被调用 50 次。从性能的角度来看,prepare() 查询是否更有意义(因此需要两次往返数据库服务器;一次准备查询,一次运行查询)或仅正常发送查询(只需要一次往返) ? MySQL 和/或 PHP mysqli 驱动程序是否足够聪明,可以意识到在之前的调用中何时准备()查询?

0 投票
5 回答
30408 浏览

php - 在 mysqli 准备好的语句中使用空值

在 mysqli 准备好的语句中,NULL 变成 ''(在字符串的情况下)或 0(在整数的情况下)。我想将其存储为真正的 NULL。有没有办法做到这一点?

0 投票
3 回答
5788 浏览

php - MySQLi 准备好的语句和 REPLACE INTO

我必须遵循代码:

http://www.nomorepasting.com/getpaste.php?pasteid=22987

如果PHPSESSID不在表中,则REPLACE INTO查询工作正常,但是如果PHPSESSID存在,则执行调用成功,但 sqlstate 设置为“HY000”,这不是很有帮助,$_mysqli_session_write->errno并且 $_mysqli_session_write->error都是空的,并且数据列不会更新。

我相当确定问题出在我的脚本中,因为REPLACE INTO无论表中是否存在手动执行 from mysql 都可以正常工作PHPSESSID

0 投票
1 回答
1985 浏览

php - 确保 MySQL 连接在 PHP 函数中有效

我有以下形式的代码:

这种(类型的)代码不起作用,因为 doSomething() 没有与数据库的连接。谁能解释为什么不?我在调用 doSomething()之前创建了 $con 连接。那么为什么这个函数表现得好像没有连接一样呢?

除了将连接传递给 doSomething($con) 之类的函数之外,有没有办法解决这个问题?

0 投票
8 回答
5036 浏览

php - 将 MySQL 查询限制为偶数个结果

我有一些 PHP 代码,我需要从 MySQL 数据库返回偶数个结果。我正在使用 mysqli 扩展来执行我的查询。

我的代码目前大致是这样的:

如您所见,我将查询限制为 6 行,但在某些情况下,返回的行数会更少。如果只返回 3 行,我想扔掉最后一行,只保留 2 行。

如何在 MySQL 查询或 MySQLi 中执行此操作?

0 投票
3 回答
20547 浏览

php - 绑定布尔值的bind_param问题

mysqli_stmt::bind_param在 PHP5 中使用绑定布尔值时遇到问题。

SQL 查询如下:

'read' 是一个 tinyint,0 或 1,因为我在使用 mysqli 时遇到了一些问题。所以我在 bind_param 中列出的类型是:

我也尝试过 'sdsb' 和 'sdss' 但似乎没有任何效果,而且我总是收到以下信息:

警告:mysqli_stmt::bind_param():变量数与准备语句中的参数数不匹配

当我删除语句中的读取字段时,一切正常。我已经没有这个想法了。当然 bind_param 与布尔值一起使用?

0 投票
3 回答
3224 浏览

php - mysqli::real_escape_string 的对应物?

带斜线()?那太蹩脚了,所以4.0。什么是 mysqli::real_escape_string 的 5.0 版本,它去除了为 SQL 查询添加的所有斜杠?

还有一些问题:

  1. 尝试更新记录并在文本字段中添加单引号,结果 phpMyAdmin 用单引号而不是斜杠转义字符串 - 例如,单引号被转义为 ''(2 个单引号)而不是 \' - 什么功能phpMyAdmin 使用还是它自己的?那么,mysql 支持两种转义字符串的方法,即斜杠和单引号?

  2. 我是否总是必须取消从 mysql 中选择的字符串?因为'你知道它在插入时被削减了。但我认为我不必这样做。

任何想法,谢谢!

0 投票
4 回答
654 浏览

php - 从 mysql 转换为 mysqli - 输出变量

我一直在 PHP 中使用 mysql api,现在正在转换为 mysqli 以提高安全性。我看到的示例语法使用 printf,我想知道这是否有必要。目前我使用回声,像这样:

由于使用 mysqli 您必须将变量绑定到结果,所以我这样做了:

并且想知道我是否可以简单地将我对 $row 的引用替换为绑定变量,例如:

这种方法是否存在任何安全问题,或者是否可以

0 投票
13 回答
30963 浏览

php - php给出一个空白页,没有错误

我有一个 AJAX 应用程序的以下部分,它没有给出任何错误,但屏幕上也没有显示任何内容,所以我不确定问题出在哪里。使用 ?cmd&id=1 直接从浏览器调用此页面应该返回,或者甚至在没有 ?cmd 的情况下调用它应该返回 cmd 错误消息。

编辑:添加了测试用例:我确实收到了 cmd 错误消息,但是当我通过 &id=1(1 是一个有效的 id)时,没有任何 html 被返回,查看源代码是完全空白的。我是否错误地使用了回声或类似的东西?

编辑2:添加回声作为第一行:第一个回声无论如何都看不到

编辑3:回到旧版本并再次进行所有更改后,我现在在使用有效的 cmd 和 id 参数调用时得到测试字符集输出。我使用的代码与下面粘贴的代码相同。

编码:

我为间距道歉,但是当我按下代码按钮时它会自动发生。