prepared-statement相关内容

无法在 MySQLi 中通过引用传递参数

我试图将一个字符串传递到我的 MySQLi 准备好的语句中,但它给了我错误: 在 MySQLi 中不能通过引用传递参数 相关代码如下: $kv = json_encode(array($key => $value));$stmt->prepare("插入规则(application_id, ruletype, rule_name, rule_info) 值(?, ?, ?, ?);" ..
发布时间:2021-12-25 10:41:24 PHP

PDO 与 MYSQLI,准备好的语句和绑定参数

我有这个问题需要澄清.我阅读了一些文档和评论,但仍有一些不够清楚. 我知道 PDO 提供了更多驱动程序,如果您更改数据库类型,这当然是一个加分项. 正如在另一篇文章中所说,PDO 不提供真正的预处理语句,但 mysqli 提供,因此使用 MYSQLI 会更安全 基准看起来很相似,(没有自己测试,而是在网上检查了一些基准) 面向对象对我来说不是问题,因为 mysqli 正在迎头赶上.但是 ..
发布时间:2021-12-25 10:41:04 PHP

$stmt->close() vs $stmt->free_result()

在完成准备好的 mysqli 时,我试图澄清 $stmt->close() 和 $stmt->free_result() 之间的区别强>声明. 到目前为止我使用: $mysqli = new mysqli(host,user,password,database);$stmt = $mysqli->prepare(sql 语句);[...]$stmt->free_result();$mysq ..
发布时间:2021-12-25 10:38:30 PHP

MySQLi:使用一个准备好的语句插入多行

我制作了一个脚本,用于创建一个原始查询字符串,然后在一个语句中插入数百行.它可以工作,但不提供准备好的语句所提供的保护.然后我修改了我的脚本以添加准备好的语句.但是,它可以工作,但速度要慢得多.与原始查询脚本相比,带有准备好的语句的脚本插入行所需的时间要长得多,因为脚本会一次运行一行准备好的插入语句,而不是一次插入数百行. 这是准备好的语句代码的片段: for( $j = 0; $j bi ..
发布时间:2021-12-25 10:36:09 PHP

mySqli 绑定参数 LIKE 与通配符

我在将带有通配符的 LIKE 绑定到 MySQLi 中准备好的语句时遇到问题.我尝试了以下两种方法,如下所示 &concat.(更新为@fancyPants 输入) 有没有办法在绑定发生后查看自己的 SQL 语句? 如何正确绑定以获得我想要的结果? 它可以在没有 LIKE 语句的情况下工作. 我只能从使用某个搜索词中提取数据.我的代码有问题吗? $str = $_POST ..
发布时间:2021-12-25 10:34:47 PHP

MYSQLi bind_result 返回 null

我试图在查询中输出从数据库中获取的变量,但没有返回任何内容.使用 MYSQLi 准备好的语句. 请看下面的代码: $stmt = $con->prepare(“SELECT first_name, last_name FROM transactions WHERE order_id = ?");$stmt->bind_param('i', $order_id);$stmt->execute ..
发布时间:2021-12-25 10:33:22 PHP

Mysqli Prepare 语句 + 绑定顺序 BY

我在使用 mysqli_stmt 准备函数时遇到了一个小问题.这是我的查询: $params = 数组("西西","some_string",5000,“日期_添加 DESC");$sql = "选择 *从场景WHERE scene_title 喜欢?ANDscene_id>?订购者?限制 ?"; 现在,当我像这样将参数绑定到数组时(我实例化了一个有效的 mysqli_stmt 对象): c ..
发布时间:2021-12-25 10:33:11 PHP

无法将内爆数组绑定到 mysql 准备好的语句中

我对以下语法错误感到头疼.我正在尝试将内爆数组绑定到准备好的语句中,但出现以下语法错误: 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在“?"附近使用的正确语法.在第 1 行 这是我的代码.谁能看出我哪里出错了? prepare("DELETE FROM email_addresses WHERE email_addresses IN ?")) {$ ..
发布时间:2021-12-25 10:31:33 PHP

使用 MySQLi 准备语句时无法获取行数和获取

我想从数据库中获取行数,但是当我尝试这样做时,$g_check 变量将等于 0 并且我的代码将回显$sugg_title 消息位于 else 语句中.但是在数据库中有 4 个插入的组,所以 num_rows 属性应该返回 4. $sql = "SELECT DISTINCT gp.logo, gp.nameFROM gmembers AS gmLEFT JOIN 组 AS gp ON gp.na ..
发布时间:2021-12-25 10:30:16 PHP

如何从 mysql_* 升级到 mysqli_*?

我目前使用已弃用的代码从用户那里获取数据,如下所示: /* 检索 */$lastName = $_POST['lastName'];$firstName = $_POST['firstName'];$examLevel=$_POST['level'];/* 连接 */$dbc=mysql_connect("localhost", "user", "passw") or die('Error连接到 ..
发布时间:2021-12-25 10:29:11 PHP

mysqli_real_escape_string 和准备好的语句?

应该是一个足够简单的问题: 如果我使用 mysqli 准备好的语句,我还需要使用 mysqli_real_escape_string() 吗? 这是必要的,还是一个好主意? 谢谢尼科 解决方案 没有.如果您使用准备好的语句,则转义已为您完成. ..
发布时间:2021-12-25 10:27:17 PHP

绑定布尔值的 bind_param 问题

我在 PHP5 中使用 mysqli_stmt::bind_param 绑定布尔值时遇到问题. SQL 查询如下: 插入`nvp_notes` (subject,messageid,receivedate,read) 值 (?,?,?,?) 其中 'read' 是一个 tinyint,可以是 0 或 1,因为我在使用 mysqli 时遇到了 bit 问题.所以我在 bind_param ..
发布时间:2021-12-25 10:27:10 PHP

什么是客户端准备好的语句?

尝试学习新东西 - 特别是尝试选择使用 MySQLi 还是 PDO 用于将来使用 MySQL 的项目 - 我偶然发现了 这个页面 显示了我可用的选项概览. 本页底部的表格比较了与 mysql 通信的三种主要方法的功能.在“API 支持客户端准备好的语句"行中,它表示 PDO 支持这一点,而 MySQLi 不支持. 我知道准备好的语句是什么.这个问题的答案是我认为服务器端准备好的语句的一 ..
发布时间:2021-12-25 10:26:03 PHP

mysqli_stmt::bind_result(): 绑定变量的数量与 PHP 中准备好的语句中的字段数量不匹配

我正在尝试进行用户名搜索 [我似乎已经完成并正在工作] 但是当您搜索用户名时,会显示有关该帐户的信息.比如我搜索了virtualAnon,他的名字和first_name等信息就会出现在他的用户名后面. 我试图通过替换 $query = "SELECT username FROM users WHERE username like 来修复它?LIMIT 1"; to $query = "SEL ..
发布时间:2021-12-25 10:24:15 PHP