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

php - SQL LIKE 查询失败 - 准备好的语句中的致命错误

我有以下代码:

哪个应该可以正常工作。但是我收到以下错误:

您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取在 '? 附近使用的正确语法。WHERE upper(ARTICLE_NAME) LIKE '%?%'' 在第 1 行

如果我把

查询工作正常。$table 是上面定义的,从 GET 收到查询,都是正确的有效值。为什么会失败?

编辑:更改为:

导致错误:

警告:mysqli_stmt::bind_param() [mysqli-stmt.bind-param]: 变量数与 C:\Program Files\EasyPHP 3.0\www\prog\get_records.php 在线准备语句中的参数数不匹配38

命令不同步;你现在不能运行这个命令

然而

结果是

致命错误:无法通过第 38 行 C:\Program Files\EasyPHP 3.0\www\prog\get_records.php 中的引用传递参数 2

最后

只会给:

命令不同步;你现在不能运行这个命令

是否不可能为 LIKE 状态使用参数?

0 投票
2 回答
7452 浏览

php - PHP 中的 mysqli 类是否 100% 防止 sql 注入?

我看过很多关于 mysqli 的文章和问题,他们都声称它可以防止 sql 注入。但它是万无一失的,还是有办法绕过它。我对跨站点脚本或网络钓鱼攻击不感兴趣,只对 sql 注入感兴趣。

我应该首先说的是我正在使用准备好的语句。这就是我对mysqli的意思。如果我使用没有任何字符串连接的准备好的语句,那么它是万无一失的吗?

0 投票
2 回答
3759 浏览

php - 将结果绑定到 php 数组中

我正在尝试使用以下代码从查询中获取结果并将其显示在tes.php页面中。

db.inc.php

测试文件

我没有收到错误消息,但没有显示结果,它只是一个空白页。

我做错了什么?

0 投票
22 回答
236218 浏览

php - 命令不同步;你现在不能运行这个命令

我正在尝试执行我的 PHP 代码,该代码通过 mysqli 调用两个 MySQL 查询,并收到错误“命令不同步;您现在无法运行此命令”。

这是我正在使用的代码

我已尝试阅读此内容,但我不确定该怎么做。我已阅读有关商店结果和免费结果的信息,但是在使用它们时它们没有任何区别。我不确定这个错误是在哪一点引起的,我想知道为什么会出现这个错误,以及如何解决它。

按照我的调试语句,countQuery 的第一个 if 循环甚至没有被输入,因为我的 sql 语法中的错误 near near '% ? %'。但是,如果我只是选择*而不是尝试基于 LIKE 子句进行限制,我仍然会收到命令不同步错误。

0 投票
3 回答
752 浏览

php - SQL like 语句问题

我在通过 mysqli 执行准备好的语句时遇到问题。

首先,我遇到了 Command 不同步错误。我正在存储结果并关闭连接,并且我已经停止收到此错误,所以希望问题已经停止。

但是,当命令不同步时,我的 sql 语法错误中的错误再次出现。这是我当前的代码:

我尝试了许多不同的方法来纠正这个 snytax 错误,从使用 CONCAT,它在失败时被注释掉,从在绑定之前将 % 符号分配给变量等等。没有任何效果。

尝试使用:

通过引用传递会导致错误。

确切的错误是:

第 11 行是定义 $countQuery 的行。

如您所见,品牌被称为“o”;

所以SQL语句应该是

当我手动放入时效果很好。

0 投票
2 回答
3138 浏览

php - 从准备好的语句中获取数据

我有一个函数,它是从数据库中返回一个包含记录的行数组,这些记录是基于 LIKE 查询选择的。出于安全原因,我希望此查询成为准备好的语句。显然我不能像我一样使用绑定参数和查询功能。那时我不确定如何将我的查询保留为准备好的语句,并返回我试图返回的行。

永远不会进入 while 循环。

0 投票
4 回答
3413 浏览

php - 使用 PHP 和 MySQLi 在不同的数据库表中插入变量和数组

我正在学习 PHP 和 MySQL,并且正在创建一个用于学习目的的电影网站。

我想将包含电影信息的变量和数组插入数据库但在不同的表中。

这就是我现在所拥有的:

这会将变量插入到电影表中。

但我还需要(同时)插入电影的类型、演员、语言等......它们在数组中并进入不同的表(也可能在不同的行中)。例如在流派表中包含流派(动作、犯罪、戏剧)流派的数组,以及在演员表中的演员等等......然后我将使用多对多和一对多表来显示信息。

有人可以向我解释如何做到这一点吗?我需要多次连接数据库??我需要循环吗?我对 PHP 和 MySQLi 真的很陌生,所以请尽可能多地解释。

谢谢。

0 投票
5 回答
1488 浏览

php - 如何测试 MySQL 查询是否成功修改数据库表数据?

我有以下简单的 php 代码片段,它会在调用时从数据库中删除相关文章。结果被传递给一个 javascript 函数,该函数将通过 AJAX 更新页面。false如果查询失败,我想返回字符串,如下所示。

我想知道我错过了什么以及检查查询是否成功的正确方法。

0 投票
4 回答
1799 浏览

php - 使用“mysql_fetch_row”从数据库中检索结果并使用 PHP 和 mysqli 插入数组?

我需要从几行中检索数据,然后将结果插入到枚举数组中,这样我就可以使用“for”循环来回显它......

我有这个(我已经连接到数据库):

在这里,我将第一个结果(行)放入一个变量中。但是我需要将它插入到一个枚举数组中,这样我就可以使用这个来回显每个结果:

这将回显:$genre[0], $genre[1], $genre[2],等等,直到最后一个。

我知道mysql_fetch_row可以完成这项工作,但我是编程新手,所以我需要一个非常详细的解释.. 谢谢!

0 投票
3 回答
745 浏览

php - 混用 PHP 的 mysqli 数据访问功能?

在过去的几天里,我看到了几个问题,mysqli但这些问题的答案似乎没有认识到$stmt->execute()和之间的区别$db->query()

据我了解,有两种不同的模型可用于访问mysqli.

这个使用原始 SQL 并要求程序员转义输入以防止 SQL 注入攻击,但允许程序员检索包含column => value映射的关联数组(或普通数组):

或者,您可以这样做,它允许很好地绑定参数和结果,但不能(AFAIK)为您提供任何类型的简单数组结果:

我的问题是 - 有没有办法mysqli获得第一个模式中显示的简单数组输出,但仍然按照第二个模式使用安全绑定的输入参数?

我无论如何都找不到这样做(除了PDO改用!)。