PHP

在 MySQLi 上使用 bind_param() 时是否需要转义数据以防止 SQL 注入?

正如标题所说,我在使用 bind_param() 时是否必须转义用户输入,还是在内部完成? 谢谢. 解决方案 不需要,绑定参数时不需要转义数据以防止 SQL 注入. 但这并不能免除您验证所述数据的责任. 绑定参数时,不执行转义(内部或其他方式).使用参数占位符准备 SQL 语句,并在执行时传递这些参数的值. 数据库知道什么是参数并相应地处理它们,而不是 SQL 值插 ..
发布时间:2021-12-25 10:29:18 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

“加载数据本地 infile"不允许命令

我正在使用 PHP mysqli 库.每次我尝试运行 LOAD DATA LOCAL INFILE 命令时,mysqli 都会抱怨消息 此 MySQL 版本不允许使用的命令 从 MySQL 终端(必须使用 --local-infile=1 登录才能使其工作)或 PHPMyAdmin 运行命令时,我没有遇到同样的问题.只是我的 PHP+mysqli 代码遇到了这个错误. 我尝试设置 ..
发布时间:2021-12-25 10:29:02 PHP

PHP:“命令不同步"如果我在调用结果存储过程后再次使用 mysqli::query()

我的数据库中有一个存储过程,它返回表中的所有记录: 创建程序 showAll()开始从 myTable 中选择 *;结尾 SP 工作正常.但是,如果我在 php 脚本中调用它然后我再次尝试查询数据库,它总是失败: //$mysqli 是一个db连接//第一个查询:if (!$t = $mysqli->query("call showAll()"))die('第一个查询出错');而 ($r = ..
发布时间:2021-12-25 10:28:58 PHP

"命令不同步;你现在不能运行这个命令"- 由 mysqli::multi_query 引起

我正在通过 mysqli::multi_query 运行多个删除操作,但它搞乱了下一个查询.正在抛出以下错误. 错误 - SQLSTATE HY000.Sql错误:命令不同步;你现在不能运行这个命令 我是否需要以某种方式清除多查询,以免干扰我的下一个查询?这个错误的原因是什么? 这就是我运行多查询的方式: function deleteSomeTables($args) {$sql = ..
发布时间:2021-12-25 10:28:50 PHP

如何正确使用 PHP 将 MySQL 对象编码为 JSON?

我正在尝试遍历 MySQL 对象并在另一个页面上使用 ajax 调用来附加数据,但我无法让 php 向回调返回有效的 JSON. 这个显然行不通... query($myQuery) or die($mysqli->error);$row = $result->fetch_assoc();回声 json_encode($row);?> 或者这个... query($myQuery) o ..
发布时间:2021-12-25 10:28:35 PHP

使用准备好的语句编写查询的分页结果集,

在以传统方式进行查询之前,我一直在使用分页类,但现在我已经开始使用准备好的语句进行查询,通过 $stmt->fetch() 语句,我不知道如何现在分页.我一直在环顾四周并检查 stackoverflow 文献,似乎有一些现成的解决方案,一些命令或一些:sort-> 东西. 你如何对这个循环中的内容进行分页?“准备好的语句世界"中是否有一些命令?任何显示的链接、页面或网络? while( $ ..
发布时间:2021-12-25 10:28:26 PHP

在 mysqli 中存储和迭代查询结果

这是我在 php 中的简单查询,使用 mysqli 面向对象的风格: $query = "SELECT name FROM usertable WHERE id = ?";$stmt = $mysqli->prepare($query);$stmt->bind_param('i', $id);$id= $_GET['id'];$stmt->execute();$stmt->bind_result ..
发布时间:2021-12-25 10:28:22 PHP

分页的最低限度?

PHP/MySQLi 中最少的分页是多少?我在网上搜索过并尝试学习如何进行分页,但所有示例都很大,所以我想知道是否最少需要多少才能从那里开始,然后努力理解它们. 我尝试过的地方(不是我看过的所有例子);https://github.com/BenGriffiths/pdo-mysqli-pagination ;http://bluedogwebservices.com/php-paginat ..
发布时间:2021-12-25 10:28:10 PHP

Mysql 用同一表中的另一行值更新一行

我有一张桌子.我想用同一个表中的第 10 行值更新第 5 行.例如: SlNo Name Quali Exp1 x B.E 22 年 BSC 33 Z B.A 1.54 海安会 25 工商管理硕士 5 这里我想用第 5 行的值更新第二行. 这是我当前的查询: UPDATE 表SET Name=(select Name from table where slNo='5'),Quali= ..
发布时间:2021-12-25 10:28:01 PHP

来自 mysqli_Query 的回显结果

我正在制作一个供我自己使用的个人脚本,我需要知道如何回显来自 mysqli_query 的结果.我的代码如下: $conn = mysqli_connect($servername, $username, $password, $dbname);if(isset($_POST['commercial'])){如果 (isset($_POST['0'])){$sql = "SELECT email ..
发布时间:2021-12-25 10:27:54 PHP

php mysql SET NAMES 'utf8' COLLATE 'utf8_unicode_ci' 不适用于 mysqli

我正在将我的网站从 php mysql_* 方法迁移到 php mysqli. 我有以下代码来完成这项工作: mysql_query("SET NAMES 'utf8' COLLATE 'utf8_unicode_ci'"); 如果没有这个查询,我的字符串字符(格鲁吉亚语)是用问号写的.例如它被写成?????????而不是გამარჯობა 所以既然它完成了它的工作,我很高 ..
发布时间:2021-12-25 10:27:48 PHP

PHP mysqli_fetch_field 数据类型

我需要一些帮助来追踪有关 mysqli 结果对象的 fetch_field 方法中的信息的一些基本信息. 特别是 type 属性 - 来自 文档似乎该字段返回一个整数... 太好了! 我似乎找不到可以让我将数字转换为相应数据类型的表格.我什至不确定我是在寻找 php 还是 mysql 特定信息.迫不及待我可以自己绘制出来,但我更希望有人能指出我的实际文档. 我错过了什么? ..
发布时间:2021-12-25 10:27:33 PHP

如何在 CodeIgniter 中使用 MySQLi 驱动程序

如何在 PHP 原生查询中使用 mysqli 驱动程序? 例如.我的代码: 型号 class Home_model 扩展 CI_Model{公共函数 getusers(){$q = "SELECT * FROM `users`";返回 $r = mysqli_query($q);}} 控制器: class Home 扩展 CI_Controller{公共函数迭代用户(){whil ..
发布时间:2021-12-25 10:27:26 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、OOP 与程序化

我第一次看到这个.我不知道你可以通过做类似的事情来实例化一个 mysqli 类 new mysqli( $host, $username, $password, $db ); 这对我来说是全新的...连接到数据库时,我在网上或书中看到的每个教程都是这样的: $conn = mysqli_connect( $host, $username, $password, $db );如果(!$conn ..
发布时间:2021-12-25 10:27:00 PHP