- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用这段代码在 MySQLi 中运行一个 select 语句
$stmt = $mysqli->prepare('SELECT * FROM admin WHERE forename = ? and surname = ? ');
$stmt->bind_param('vv', $forename, $surname);
$foremame = "Forename";
$surname = "Surname";
$stmt->execute();
$result = $stmt->get_result();
while ($row = $result->fetch_assoc()) {
echo $row["sequence"];
}
$stmt -> close();
$mysqli -> close();
但我收到一个 fatal error :
Fatal error: Call to undefined method mysqli_stmt::get_result()
因为我没有安装 MySQLnd,但我无法安装它,因为我使用的是共享 Web 服务器,主机不会安装它。
如何在不安装 MySQLnd 的情况下使用 MySQLi 准备语句,因为我想防止 SQL 注入(inject)攻击
最佳答案
您可以使用 $stmt->bind_result()
将结果绑定(bind)到变量,然后使用 $stmt->fetch()
将结果提取到绑定(bind)变量中.
$stmt->execute();
$stmt->bind_result($var1, $var2, $var3, ...); // Use more meaningful variable names
while ($stmt->fetch()) {
echo $var3; // to get the third column in the results
}
我强烈建议在 SELECT
子句中明确列出列名,而不是 *
,因为这种访问结果的方法取决于列的特定顺序.
关于php - 由于未安装 MySQLnd,MySQLi 准备好的语句显示错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20848626/
我的托管服务提供商的 PHP 5.3 没有安装 mysqlnd,因此当我调用 mysqli_stmt_get_result() 时它返回错误 是否有任何解决方法可以在不安装 mysqlnd 的情况下实
我正在用 PHP - MySQL 开发一个网站。这里有一些注意事项: 我正在使用 MySQLi API 进行数据库访问。 在我本地安装的 XAMPP(Windows 7 机器)中,PHP 版本是 5.
我今天在日志中发现了 php 警告。 PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules
我准备好的语句在 PHP 5.4 的 MAMP 中工作得很好,不需要调整 php.ini。在我的 GoDaddy 网站上,相同的代码失败并显示: Fatal error: Call to undefi
我有一台运行 PHP 5.3.8 和 MySQL 5.5.23 的旧机器(通过 mysql 的“select version()”命令找到)。但是,PHP 的 mysqlnd 驱动程序指示 MySQL
我正在基于 Windows 的主机上部署一个新的 php 项目,最大的问题是,mysql_connect 每次连接到本地主机上的 mysql 服务器实际上需要大约 1 秒的时间。到底是什么问题? PH
我有 Windows 2003 Server。 Apache 2.4.10、PHP 5.4.31 和 MySQL 5.6.19 安装。服务器上运行着两个wordpress网站。 在 mysqlnd 部
也许这是一个显而易见的问题,但我想确定一下。 如何知道 MySQLnd 是否是事件驱动程序? 我正在运行 PHP 5.3 和 MySQL 5.1.37。在 phpinfo() 中列出了 mysqlnd
我使用 php 5.2,但它不支持 mysqlnd。所以我用 5.3.7 更改了 php 但我无法处理它......它有什么问题 版本信息 操作系统window7 PHP 5.3.7v MySQL 5
php -i | grep mysqlnd的输出是: Client API version => mysqlnd 5.0.11-dev - 20120503 - $Id: 40933630edef55
我的查询类无法在客户的新服务器上运行,因为他们的服务器缺少 mysqlnd 驱动程序。我如何将方法转换为不使用 mysqlnd 并且不搞砸他们所有的类? function query($query,
当我尝试使用 getAttribute 函数时出现此错误:调用非对象上的成员函数 getAttribute()。 mysqlnd 似乎已启用,但我也无法使用 get_result(),知道吗? 这件事
我刚刚将我所有的网站文件和数据库移到了虚拟主机上,但在尝试运行我的其中一个页面时遇到了以下错误: Call to undefined method mysqli_stmt::get_result()
我正在使用这段代码在 MySQLi 中运行一个 select 语句 $stmt = $mysqli->prepare('SELECT * FROM admin WHERE forename = ? a
这可能是许多问题的重复,但是我似乎没有从目前的任何问题中得到答案。我正在使用 hostgator 提供的多域 linux 托管。我尝试使用 mysqli_stmt_get_result() 但它向我抛
这可能是许多问题的重复,但是我似乎没有从目前的任何问题中得到答案。我正在使用 hostgator 提供的多域 linux 托管。我尝试使用 mysqli_stmt_get_result() 但它向我抛
我已经安装并运行了PHP(版本:5.3.17),我想切换到mysqlnd(在phpinfo中mysqlnd根本不存在)。 我读到要设置它,您需要更新 ./configure 命令: ./configu
我最近开始使用 Codeigniter 进行编码,这对 PHP 来说还是个新手。 我构建了我的第一个应用程序,并在 Xampp 之后将其安装在服务器上。我遇到了这个错误 Message: mysqli
我读了很多关于这个问题的答案,但我真正的问题是我无法理解真正的解决方案: 我按照说明更改密码,设置为24个字符,但没有任何变化!我尝试: SET SESSION old_passwords=0; SE
如标题所示,我在运行 PHP 5.4 版的共享托管服务器上提供了 mysqlnd。当我尝试调用 mysqli get_result() 函数时,出现此错误。 我已经和托管服务提供商谈过好几次了,最近他
我是一名优秀的程序员,十分优秀!