问题标签 [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 回答
9027 浏览

php - 将 mysql 转换为 mysqli - 如何获取超全局连接对象?

我正在尝试将代码从 mysql 转换为 mysqli。该代码在一个文件中使用单个 mysql_connect,该文件包含在所有其他文件中。

mysql_connect 返回一个超全局的 MySQL 链接标识符,因此您可以依赖在您自己的任何函数中提供数据库连接。

看起来 mysqli_connect 不是这种情况,返回的对象不是全局的。

这是否意味着我必须添加: global $mysqli; 在每个函数的顶部,或者有没有办法让它成为一个超全局的?

0 投票
2 回答
1092 浏览

php - mysqli 绑定变量

我有这个部分代码:

否则运行正常,但是我收到一个错误:

绑定变量的数量与准备好的语句中的字段数量不匹配

在我发布的最后一行。

我不确定问题是什么。我想单独使用一些列,例如 ARTICLE_DESC。这是否意味着我不能使用 select *,并且必须在查询中输入每个列名?

编辑:有必要绑定吗?是否可以获得安全或性能优势?我可以不用吗?

0 投票
2 回答
2071 浏览

php - 如何获取 MySQL 中的每 n 行?

我有一个表,其中包含每分钟记录的数据,所以我每分钟都有一行。在返回数据进行处理时,要求最后 6 小时的准确度,但在此之后,较低的准确度就足够了,例如每 5 分钟一次。

我可以将所有数据返回到一个数组中,然后删除除第 5 个元素之外的所有元素,但这需要 MySQL 返回所有数据,然后先读入数组 - 相当多的数据。

如何返回 MySQL 中的每 n 行?我已经阅读了这篇博客文章,其中建议使用 primaryKey % 5 = 0 其中 primaryKey 是 auto_increment 但这

a) 不使用索引 b) 将仅返回可被 5 整除的 primaryKey 值,并且在删除的情况下,实际上可能不是每 5 行

这可以仅在 SQL 查询中完成,还是需要使用游标逐行遍历结果集?

我在 PHP 中使用MySQLi连接到数据库。

0 投票
3 回答
7715 浏览

php - 准备好的语句中的 mysqli 绑定字段

我有以下代码,我收到错误:

警告:mysqli_stmt::bind_result() [mysqli-stmt.bind-result]:绑定变量的数量与文件中准备好的语句中的字段数量不匹配。

如果这只是一个警告,代码不应该仍然有效吗?我想做一个选择 * 并显示除一个字段之外的所有数据,我想分别绑定和处理。有什么办法,或者更好的方法吗?我目前的解决方案(未尝试)是使用 getRecords 将正确数量的变量绑定到结果,然后使用 getHtml 单独绑定为不同的名称。

绑定有什么好处,有没有必要。

我也想知道我的 img src 语句有什么问题......,我觉得我错过了一些基本的东西,比如斜线或引号。

编辑:代码现在在将 * 替换为列名后显示错误,但是从未输入过 while 循环,因此不执行任何操作。

0 投票
1 回答
363 浏览

php - mysqli_stmt::bind_param 和 mysqli_stmt::prepare

好的,所以我想做一个准备好的插入,例如:

start_time 和 end_time 作为 sql 日期存储在数据库中。在下一条语句中填写 ?:

所以基本上我应该为 sql 日期调用 bind_param 方法吗???

0 投票
2 回答
1180 浏览

php - 准备好的语句导致while循环错误

我有以下简单的 mysqli php 应用程序,它应该可以正常工作。$pk 被完美地接受并且是一个有效的 ARTICLE_NO,并且当直接由 mysql 执行时,查询可以完美地工作。我在每个事件之后都放置了输出语句,除了测试时执行之外的所有语句。永远不会进入 while 循环,我不确定为什么。

编辑:我已将问题缩小到返回 0 行的事实,但我不知道为什么 phpmyadmin 中的相同查询会给出正确的结果。

编辑2:如果我摆脱了while循环并且只有

说明 errno 为 0。因此没有获取记录,也没有错误,但它是一个有效的查询。

编辑:

我试过这段代码:

这在没有 $pk 的情况下工作,如果我去掉参数它工作正常。通过 GET 获取 pk 不是问题,因为如果我指定 $pk = 1; 相反,它仍然失败。1 是有效的 ARTICLE_NO,SELECT ARTICLE_NAME, WATCH FROM AUCTIONS WHERE ARTICLE_NO = 1 LIMIT 5 在 phmyadmin 中工作正常。

编辑:问题是 mysqli 无法处理 bigint,我现在使用 k 作为字符串,它工作正常。

0 投票
6 回答
229896 浏览

php - 使用 PHP 时的 MySQL 与 MySQLi

MySQL 和 MySQLi 哪个更好?为什么?我应该使用哪个?

我的意思是不仅在性能方面更好,而且在任何其他相关功能方面都更好。

0 投票
1 回答
710 浏览

php - mysqli_use_result() 和并发

根据mysqli_use_result的文档

如果在客户端执行大量处理,则不应使用 mysqli_use_result(),因为这将占用服务器并阻止其他线程更新从中获取数据的任何表。

这仅适用于 myISAM 表还是适用于 InnoDB?

0 投票
2 回答
274 浏览

php - PHP mysqli 意外参数问题

我觉得完全不理解我做错了什么,但这里就是这样。

我正在编写一个简单的 Web 表单,将信息存储在 MySQL 数据库中。我收到此错误:

这是我的代码:

有任何想法吗?提前致谢。

0 投票
4 回答
7736 浏览

php - counting rows and passing information with mysqli

I have been trying to convert a php page to mysqli, and have encoutnered some problems. Given the code below, and the way which I have ordered things to work, I would like to know what the better way is using mysqli methods.

Is there an mysqli alternative to mysql_num_rows or is a different method of calculating the number of rows required?

How would I do the following using mysqli?:

What is an alternative for mysql_fetch_assoc? I feel that I should not be using the current rows method I am using, even if there is a replacement function, so what would be the correct approach?

I apologize for these questions, but I have not been able to determine the answers myself so far.