CodeIgniter - CI_DB_mysqli_result 类的对象无法转换为字符串

2023-12-24

我目前正在使用 codeIgniter。我正在尝试根据电子邮件地址更新数据库中的密码。否则我会遇到问题,我使用在 CodeIgniter 网站上找到的以下代码来更新我的数据库。

$this->db->set('field', 'field+1', FALSE);
$this->db->where('id', 2);
$this->db->update('mytable'); // gives UPDATE mytable SET field = field+1 WHERE id = 2

我收到的错误消息是

CI_DB_mysqli_result 类的对象无法转换为字符串

我在互联网上发现了很多讨论此类问题的话题。然而,我没有发现任何适合我的情况。正如我之前读到的,我已经尝试像这样返回查询结果

if ($query->num_rows() == 1)
{
    return $query->result();
}
else
    return FALSE;

正如您可能已经猜到的那样,这并没有改变任何事情。所以希望有人能够向我解释发生了什么。这是我的模型代码。我没有放置完整的代码,因为我认为它已经足够了,但问我是否想要其余的。

<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
class Reset_password extends CI_Model
{
    function __construct()
    {
        parent:: __construct();
        $this->load->helper('url');
        $this->load->helper('string');
    }

    function index($email) //function wchich will reset the password in the database;
    {
        $new_password = random_string('alnum', 16);
        //generate random password, already try to remove and put for exemple
        //$new_password = 'lol'; and doesn't work so I suppose this line isn't 
        //the pb
        $this-> db->set('password', md5($new_password), FALSE);
        $this-> db->where('email', $email);
        $this-> db->update('CI_TEST');

        $query = $this->db->get();
    }
}

谢谢 :)

编辑:这是我的控制器代码

<?php if (!defined('BASEPATH')) exit('No direct script acess allowed');

class Forget_password extends CI_Controller
{
    function __construct()
    {
        parent::__construct();
        $this->load->helper(array('form'));
        $this->load->model('Reset_password');
        $this->load->library('email');
    }

    function index()
    {
        $this->load->library('form_validation');
        $this->form_validation->set_rules('email', 'Email', 'trim|required|valid_email|callback_email_check', 'Error: please provide a valide email adresse');

        if ($this->form_validation->run() == FALSE)
        {
            $this->load->view('Forget_password');
        }
        else
        {
           //loading
        }
    }

    function email_check($email)
    {
        $this-> db->select('email');
        $this-> db->from('CI_TEST');
        $this-> db->where('email', $email);
        $this-> db->limit(1);

        $query = $this-> db->get();

        if ($query->num_rows() == 1)
        {           
            $this->Reset_password->index($query);
            return (TRUE);
        }
        else
        {
            echo 'Error: The email you provided doesn\'t exist in the database';
            return (FALSE);
        }
    }
}
?>

您当前已获取结果集,然后需要使用result() or row()将结果收集到格式化对象中(或者数组,如果您选择result_array()). CI_DB_mysqli_result是一个类包装器,而不是封装您的结果,但您还没有提取出包含的数据within it.

$this->db->select('email');
$this->db->from('CI_TEST');
$this->db->where('email', $email);
$this->db->limit(1);

$query = $this->db->get();

if ($query->num_rows() == 1)
{           
    //Use row() to get a single result
    $row = $query->row();

    //$row will now have if you printed the contents:
    //print_r( $row );
    //stdClass Object ( [email] => [email protected] /cdn-cgi/l/email-protection )

    //Pass $query->email directly to reset_password
    $this->Reset_password->index( $row->email );
    return true;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CodeIgniter - CI_DB_mysqli_result 类的对象无法转换为字符串 的相关文章

  • 使 pdo::query 静态

    当我运行下面的代码时出现此错误 我通常使用 msql 函数 但我尝试使用 PDO 代替 怎么了 致命错误 第 14 行无法静态调用非静态方法 PDO query
  • 如何复制 ArrayIterator 以保留其当前迭代位置?

    因为这似乎是我必须做的才能达到这种效果 arr a gt first b gt second iter new ArrayIterator arr Do a bunch of iterations iter gt next new iter
  • Yii2 异常:ApcCache 需要加载 PHP apc 扩展

    在高级模板前端的主配置中配置缓存组件时 我收到异常 在我的 php ini 上启用了扩展 rsults 如何解决此问题 前端 config main php cache gt class gt yii caching ApcCache ke
  • PHP 开发相当于 Mongrel/Webrick 吗?

    PHP 开发中是否有与 Rails 开发期间使用 Mongrel Webrick 等效的方法 我通常在端口 3000 上使用 Mongrel 在开发过程中为我的 Rails 应用程序提供服务 我从事 PHP 开发已经有几年了 据我所知 方法
  • 如何通过php的require()或include()函数传递变量?

    当我使用这个时 require diggstyle code php page page no 警告是 无法打开流 第 198 行 C xampp htdocs 4ajax gallery core php 中没有错误 错误是 Failed
  • 使用 php 在多维数组中按键排序[重复]

    这个问题在这里已经有答案了 可能的重复 在 PHP 中对多维数组进行排序 https stackoverflow com questions 2059255 sorting multidimensional array in php 如何在
  • 使用先前的反向引用作为命名捕获组的名称

    有没有办法使用对先前捕获组的反向引用作为捕获组的名称命名捕获组 这可能不可能 如果不可能 那么这就是一个有效的答案 下列 data description some description preg match data matches p
  • 如何在 PHP 中使用 cURL 发出同时包含 GET 和 POST 参数的请求?

    其他人已经问过如何从 perl java bash 等执行此操作 但我需要在 PHP 中执行此操作 并且我没有看到任何已提出的专门与 PHP 相关的问题 或包含 PHP 的答案 My code ch curl init url curl s
  • PHP:读取字体文件的 TrueType/OpenType 元数据

    如何阅读字体详细信息 例如 字体在其元数据中包含版权 姓氏 设计者 版本等信息 我还希望脚本能够计算文件中的字形数量 并返回字体支持的语言 例如 典型的字体可能包含西方语言 瑞典语和罗马语言支持 并具有数百个字形 它应该支持 truetyp
  • Magento - 检查 cms 页面

    我想通过 php 检查页面是否是 Magento 中的 cms page 我需要不同的 cms 页面面包屑 所以我尝试在一个条件下做到这一点 但我不知道如何或在哪里查看 到目前为止 这是我的 breadcrumbs phtml p some
  • 使用 PHP 的 MySQL 连接字符串

    我正在尝试通过本地计算机连接到托管在我的服务器上的数据库 我的服务器有cPanel 11 它是一个典型的共享服务器 由CentOS提供支持 安装了PHP和MySQL 准确地说 我在同一台服务器上持有经销商帐户 我想在不同帐户或域之间访问数据
  • JavaScript 验证和 PHP 验证?

    我正在使用 jquery 验证插件来验证空表单 我还应该在 PHP 中检查一下以确保 100 正确吗 或者用 javascript 验证就可以了 谢谢 您应该始终在服务器上进行验证 如果用户以某种方式不使用 Javascript 提交表单
  • Joomla 页面中的自定义 php 代码

    我正在尝试将 Joomla 1 5 9 页面中的表源从页面中的硬编码 html 更改为从 SQL 数据库获取信息 执行此操作的正确方法是什么 创建一个新的模型或组件并以某种方式在页面中使用它 我找到了这些 http docs joomla
  • 如何在 OS X 上使用 OpenSSL 1.0.1 编译 PHP 5.5.19

    我已经安装了 OpenSSL 1 0 1j usr local ssl现在我尝试使用此版本的 OpenSSL 编译 PHP 5 5 19 这是我的配置过程 export CFLAGS arch x86 64 export CXXFLAGS
  • MVC 模式中的验证层

    验证模型将使用的数据的最佳位置在哪里 例如 考虑登记表 我们有一些来自注册表的数据 那么验证这些数据的最佳位置在哪里 我们应该通过 if 语句或特殊的验证器类来检查每个数据 这意味着大量的编码 所以我想了解在哪里可以做到这一点 在控制器中
  • WordPress 插件中的类自动加载器

    我想编写一个类自动加载器以在 WordPress 插件中使用 该插件将安装在多个站点上 我想尽量减少与其他插件发生冲突的机会 自动加载器将是这样的 function autoload name some code here 我的主要问题是
  • 从数据库填充复选框

    我有两个表 第一个由与名称关联的 id 组成 1 汽车 2 火车 3 普通 ETC 第二个表由两个字段 user id 和第一个表中的 id 组成 例如 1 1 2 1 3 当用户转到该页面时 我试图重新填充选定的复选框 首先 您查询数据库
  • 如何在 Zend Framework 3 中注册自定义表单视图助手

    我正在将继承的 Zend Framework 2 应用程序迁移到 Zend Framework 3 并且在注册自定义表单视图助手时遇到了一些困难 这些助手在应用程序使用版本 2 时起作用 主要用于添加标签属性以实现可访问性 例如 这是一个自
  • php curl 使用 GET 发送变量 奇怪的结果

    我正在尝试调用远程站点上页面中的网址 决定使用curl 在远程站点上 url 变量显示为 REQUEST Array var1 gt val1 amp var2 gt val2 amp var3 gt val3 被调用的url是 http
  • 如何在laravel中注册后自动登录

    我在 laravel 中注册用户时遇到问题 user假设是包含所有数组元素的数组 同时自动登录以下代码结果false 数据库中保存的密码是hash make password user id this gt user model gt ad

随机推荐

  • iPad safari 浏览器如何支持 html 右键单击​​(上下文菜单)?

    我有一个要求 iPad 需要支持右键单击现有网站 按照惯例 在支持触摸的设备中 右键单击会转换为长按事件 我已经在 Android 设备的 Chrome 中进行了测试 它可以工作 但在 iPad iPad Air 2 10 3 的 Safa
  • Vue 路由器子级,尾部斜杠

    Vue 在默认子路由中添加尾部斜杠是正常行为吗 例如 URL Result user test Link
  • WP8 主屏幕上的站点图标

    iOS Android 甚至 BlackBerry 允许您指定在将页面添加到设备主屏幕时显示的图标 现在 Windows 8 允许您指定将页面固定到开始屏幕时显示的图标 如下所示 不过 这似乎不适用于 WindowsPhone8 这是正确的
  • 不提交表单的 HTML 按钮

    我有一个表格 在该表格之外 我有一个按钮 一个简单的按钮 如下所示
  • Python - 获取调用函数的完整文件路径?

    给定一个模块mymodule py 并在其中 def foo X file path where foo was called from print X 我该如何做评论中描述的事情 即 如果在 test py 中我做了 from mymod
  • Swift ios 检查 ios9 和 ios10 中是否启用了远程推送通知

    如何检查用户是否在 ios 9 或 ios 10 上启用了远程通知 如果用户不允许或单击 否 我想切换一条消息 询问他们是否要启用通知 苹果推荐使用UserNotifications框架而不是共享实例 所以 不要忘记导入UserNotifi
  • AWS S3 Web 控制台覆盖存储桶策略

    目前 我有一个应用于测试存储桶的策略 该策略旨在阻止用户使用 公共读取 和 公共读写 ACL 上传 s3object 当我尝试通过命令行上传时 请求被成功阻止 并按预期 拒绝访问 Write S3Object bucketname test
  • 循环数据帧并从另一个数据帧获取相关数据:PANDAS

    我有一个包含客户所有交易数据的数据框 列是 mailid txn date 城市 现在我遇到的情况是 我必须考虑 2016 年 1 月 1 日以来的客户 对于每个 mailid 我必须从基本文件中获取他们的 txn 数据 并考虑他们最近 1
  • 如何使用远程系统上的 Ansible 任务移动/重命名文件

    如何使用远程系统上的 Ansible 模块移动 重命名文件 目录 我不想使用命令 shell 任务 也不想将文件从本地系统复制到远程系统 从2 0版本开始 in 复制模块 https docs ansible com ansible lat
  • 那些安装的未知程序是什么?

    有谁知道这些程序 GUIDes 是什么 我相信它们是 UWP 编程的一部分 因为当我在 Visual Studio 中运行调试时 这些程序出现在 已安装的程序 中 另外 在Windows 10的安装程序中看不到CCleaner Thanks
  • 在mysql中查找三个以上具有相同值的列

    我有多个列具有相同的值 我想找到超过 3 列的行 id 具有相同的值 each column is text blob 表结构就像 id col1 col2 col3 col4 col5 col6 col7 col8 col9 Unpivo
  • 使用 linq 对列表进行采样

    我需要一个辅助方法来将轴标签添加到图表中 我不想在图表中具有值的轴上的每个点添加标签 因为那样会变得太忙 所以我需要定期提取样本 到目前为止 我已经提出了以下满足要求的方法 但我认为必须有一种更简洁的方法来使用 Linq 来完成此任务 谁能
  • 使用 google-places-api 的简单 html 页面出现 ApiNotActivatedMapError

    我正在尝试创建一个简单的 html 页面 我稍后想在其中添加自动完成输入 其中包含 google places api 我有一个 api 密钥 已启用 但我仍然收到错误消息 这是我的 html but I get this error me
  • 如何在 Jekyll 中使用 markdownify 显示索引摘录

    我希望在索引页上显示较长帖子或页面的简短文本摘录 我本来打算在 Front Matter 中使用自定义变量并抓住它 但后来我看到了过滤器 excerpt 我看到在Jekyll 文档 http jekyllrb com docs templa
  • PowerShell 相当于“head -n-3”?

    我已经能够追踪基本的头 尾功能 head 10 myfile lt gt cat myfile select first 10 tail 10 myfile lt gt cat myfile select last 10 但是 如果我想列出
  • Java中是否可以在指定时间内停止函数的执行?

    我想知道如何在java中指定时间内停止指定函数的执行 例如 我可以调用一个名为 print data 的函数 如果执行需要更多时间 我将不得不停止该函数的执行 是否可以这样停止执行 提前致谢 您可以向函数添加一些检查 保存函数开始工作时的时
  • 在构建过程中如何从 docker 文件打印到控制台?

    假设您有一些 Dockerfile 需要向该文件添加什么 以便在构建期间将字符串 即 Hello World 打印到控制台 docker build RESEARCH 这个问题是 Google 中该主题的热门问题 我通过谷歌搜索并登陆这里进
  • 如何定期制作动画?

    我有一个故事板 可以使分针滑动 6 度 现在我希望分针永远每 59 秒滑动一次 故事板有什么属性或我可以做的任何其他方式吗 我的故事板
  • 如何在 spring-data mongodb 中将 updateOption 与 arrayFilters 一起使用?

    我在 Mongodb 中有一个如下所示的文档 现在 我想转到基于特定 的文档 id对于该文档 想要转到 计划 列表 其中对于几个特定日期 不仅是一个日期 而是多个日期 我想将状态更新为 已预订 我浏览了此链接 如何使用带有 arrayFil
  • CodeIgniter - CI_DB_mysqli_result 类的对象无法转换为字符串

    我目前正在使用 codeIgniter 我正在尝试根据电子邮件地址更新数据库中的密码 否则我会遇到问题 我使用在 CodeIgniter 网站上找到的以下代码来更新我的数据库 this gt db gt set field field 1