调整 select 方法以接受多个参数

2024-02-05

我需要实现一个方法select()可以绑定一个或多个参数和另一种方法,该方法将结果返回到index.php。

从index.php调用所需的代码:

echo $this->_results -> korisnik_id;

这是需要实现的数据库类select()。现在Select()函数接受一个参数...

DB::getInstance() -> Select('SELECT korisnik_id FROM korisnici WHERE korisnik_ime= ?', 's', 'Alex');

...但仅此而已:

DB::getInstance() -> Select('SELECT korisnik_id FROM korisnici WHERE korisnik_ime= ? AND korisnik_grupa= ?','si', 'Alex', '1');

全班:

<?php
class DB{
    private static $_instance = null;
    private $_stmt,$_query,$_error=false,$_results,$count=0;

    public function __construct() {
        try{

            $this-> _stmt = new mysqli(Config::get('mysql/host'),Config::get('mysql/username'),Config::get('mysql/password'),Config::get('mysql/db'));
            if (mysqli_connect_errno()) {
                    printf("Connect failed: %s\n", mysqli_connect_error());
                    exit();
            }

        } catch (Exception $ex) {

        }

     }

     public static function getInstance(){

         if(!isset(self::$_instance)){
             self::$_instance = new DB();
         }
         return self::$_instance;
     }


     public function Select($query, $paramString = ''){
    $stmt = $this->_stmt->prepare($query);

    if (func_num_args() > 2){
        $parameters = func_get_args();

        array_shift($parameters); // remove the query from the list
        // Array needs to be bound by reference

        foreach ($parameters as $key=>&$value) {
            $parameters[$key] = &$value;

        }
       call_user_func_array(array($stmt, "bind_param"), $parameters);
    }
    $stmt->execute();
    $this->_results = $stmt->get_result();
    $stmt->close();

   $this->_results = $this->_results -> fetch_object();
    echo $this->_results -> korisnik_id;

}


}
?>

我认为你很接近。

用这样的东西来代替当前的 foreach 循环怎么样:

foreach ($parameters as $key=>&$value) {
            $this->_stmt->bindParam ($key, $value, PDO::PARAM_STR);

}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

调整 select 方法以接受多个参数 的相关文章

  • 如何配置 nginx 重写规则以使 CakePHP 在 CentOS 上运行?

    大家好 请帮帮我 我正在尝试在运行 Nginx 和 Fact CGI 的 Centos 服务器上设置 cakephp 环境 我已经在服务器上运行了一个 WordPress 站点和一个 phpmyadmin 站点 因此我已经正确配置了 PHP
  • Laravel Eloquent 预加载:加入同一个表两次

    我有一个users表和一个约会桌子 在约会表中 我有两个用户 ID customer id staff id 我想检索所有带有客户姓名和员工姓名的约会 users table id name appointments table id st
  • 在多维数组 PHP 的所有键中搜索

    我想在多维数组中的所有键中搜索特定字符串 我只需要弄清楚它是否存在 仅此而已 我想知道访问者的 IP 是否存在于任何数组中 有没有我可以用来执行此操作的 php 函数或方法 我尝试过的每个函数或方法总是返回 false 数组中 数组搜索 数
  • Magento:如何在 CMS 页面中包含 php 调用

    按照此页面的说明进行操作 http www magento cc how to use php on a cms page html http www magento cc how to use php on a cms page html
  • 是否可以在 UML 中可视化一堆函数

    我正在改进一个使用类和函数文件 只是包含各种函数的 php 文件 的内容管理系统 例如 我有一堂课叫Admin以及一个功能文件 其功能包括显示管理员概述 创建新管理员 编辑现有管理员 删除管理员 函数文件使用类并执行 mvc 概念的可视化部
  • 用 PHP 截断文件末尾

    我有一个日志文件 我想在 PHP 读取该文件后将其截断 我的代码目前如下所示 fp fopen file r ftruncate fp 125000 fclose fp 但是 这会通过保留first1MB 不过 我想保留last1Mb 的文
  • PHP 删除字符最后一个实例之前的所有内容

    有没有办法删除某个字符之前的所有内容 包括最后一个实例 我有多个字符串 其中包含 gt e g the gt cat gt sat gt on gt the gt mat welcome gt home 我需要对字符串进行格式化 以便它们变
  • 禁用外部点击时关闭模式

    我正在制作一些使用模式的博客物质化 但我的模态 onclick 外部和错误数据有问题 这是我的代码 main js function changepassword var user userlog val var content conte
  • PHP 电子邮件验证[重复]

    这个问题在这里已经有答案了 For PHP最好的电子邮件验证方法是什么preg NOT ereg因为它是已弃用 删除 I don t需要检查该网站是否存在 这不像最高安全性 我找到了很多方法ereg但它们 显然 不是好的做法 我建议你使用F
  • php隐藏所有错误[重复]

    这个问题在这里已经有答案了 隐藏的最佳做法是什么allPHP 错误 因为我不想向用户显示错误 我尝试过使用 htacess通过输入代码php flag display errors off在那里 但它返回给我一个500 error 还有其他
  • Zend RegEx Validator 的自定义有意义的错误消息

    我正在验证表单中的文本字段 如下所示 name new Zend Form Element Text name name gt setLabel First Name gt setRequired true gt addFilter new
  • 错误 #520009 - 帐户受到限制

    我收到 520009 错误 帐户 电子邮件受保护 cdn cgi l email protection被限制 当尝试进行并行付款时 我的代码使用沙箱运行良好 但我切换到实时端点 它开始失败 有问题的帐户是有效的 PayPal 帐户 我使用的
  • 为什么 asort 适用于多维数组?

    抱歉 如果这是一个非常基本的问题 我无意中发现asort http php net manual en function asort php似乎适用于多维数组 示例 PHP animals array 1 gt array name gt
  • 将 Cloudinary 与 spatie/media-library Laravel 包一起使用

    有人使用 Laravel 包 spatie media library 和 Cloudinary 吗 我认为用 Flysystem 来实现它是微不足道的 我实际上使用 Cloudinary 作为带有 silvanite nova field
  • Yii 未检测到骆驼案例操作

    伊伊正在给我404 Error如果我声明这样的操作 站点控制器 php public function actionRegisterUser 这就是我在main php label gt Register User url gt site
  • 将客户分配到 magento 的多个客户组

    您好 我想将多个组分配给特定客户 例如 Rajat 客户 属于 批发 零售商 电力 实际上我在上面看到了同样的话题每个客户有多个客户组 https stackoverflow com questions 6153011 multiple c
  • 使用 Xpath 进行部分匹配

    我正在尝试创建一个搜索功能 允许使用 Xpath 按歌曲标题或流派进行部分匹配 这是我的 XML 文件
  • 使用 Webmin 设置 cron 作业

    我正在尝试使用 Webmin 设置一个 Cron 作业每 5 分钟运行一次 它需要定位 php 文件并运行该文件中的 php 脚本 当我在 命令 字段中输入文件路径时 它不起作用 我只是想知道我做错了什么 以及我需要 Cron 作业运行的文
  • 管理产品页面自定义字段显示在购物车和结账中

    我在产品页面的常规设置选项卡上的 WooCommerce 管理中创建了一个自定义字段 以插入几天的制造时间 我想在购物车和结帐页面上每个产品名称上方显示此自定义字段值 这是我的代码 Insert a Custom Admin Field f
  • 使用 Swift 邮件程序发送邮件时出现错误 501

随机推荐

  • 我想一次滚动多个回收器视图如何实现

    我想滚动多个RecyclerView一次如何实现该 Exp 我有 3RecyclerView水平方向 当我第一次滚动时RecyclerView那么第二个和第三个也应该滚动怎么办 答案很简单 你必须从一个回收视图获取滚动反馈并将其传递给其他回
  • python中的return和break有什么区别?

    python中的return和break有什么区别 请解释一下它们在循环和函数中到底做了什么 谢谢 break用于提前结束循环 whilereturn是用于将返回值传递回函数调用者的关键字 如果不带参数使用它 它只会结束函数并返回到之前执行
  • Angular 6:从后端服务器获取文件对象后下载文件

    我有一个结构为 type Buffer data Array 702549 的文件对象类型 我需要在 Angular 6 中做什么才能在浏览器中下载此文件 我从这个函数得到我的回应 getMarketingProposalById id s
  • 查找数组中出现次数最多的第 N 个数字

    Find the nth most frequent number in array There is no limit on the range of the numbers 我想我们可以 i 使用 C 中的映射存储每个元素的出现情况 i
  • 从 Facelets 调用 servlet 的正确方法?

    使用带有提交按钮的表单从 Facelets 文件调用 servlet 的正确方法是什么 是否需要特定表格 只需使用纯 HTML
  • 我想使用 jquery 操作 iframe 内的 html

    我想我可以通过将 jQuery 函数的上下文设置为 iframe 的文档来做到这一点 如下所示 function document ready some selector frames nameOfMyIframe document doS
  • 如何将字符串转换为长整型而不丢失前导零[重复]

    这个问题在这里已经有答案了 在我的网络服务方法中 我有一个输入类型Long 我应该在左边添加两个零 所以我将其转换为String 我连接了两个零 然后我应该再次转换为Long 我发现java中的Long类型忽略左零 如何在 Long 值中保
  • Android MLKit - 执行 Firebase ML 任务时发生内部错误

    您好 我有一个在 Android 应用程序中使用的自定义模型 但是当我尝试运行它时 会引发 MLkit 异常 所述错误的日志输出如下 Internal error has occurred when executing Firebase M
  • 什么是 SAPI?什么时候会使用它?

    我最近一直在学习 PHP 中的错误处理 并遇到了error log 功能 http docs php net manual en function error log php 在 PHP 手册中 它讨论了所有错误日志类型 我理解所有这些类型
  • 如何异步使用DataAdapter.Fill()?

    我有一个 DataAdapter 正在填充数据集中的 5 个数据表 SqlDataAdapter da new SqlDataAdapter Select from testTable con da Fill ds 0 numberOfRo
  • 如何在嵌入式 Linux Raspberry Pi 上安装 GCC 和/或 apt

    我在树莓派 用于比特币矿工 上有一个预配置的 Linux 发行版 问题是这个发行版非常小 只有 busybox 用于基本命令 它没有包管理器 甚至没有 gcc 编译器 所以我的目标是在上面安装一个 gcc 编译器 这样我就可以进一步安装其他
  • Swagger 是什么?它与 OData 相关吗?

    我熟悉 Microsoft 堆栈 我正在使用 OData 来提供一些宁静的服务 最近 我遇到了 Swagger API 文档 我试图了解它与 OData 的关系 两者看起来都是RESTful规范 哪一种被广泛使用 Swagger是一个规范记
  • strip 函数删除哪些特定字符?

    您可以在以下位置找到以下内容 str strip文档 https docs python org 3 library stdtypes html str strip The charsargument 是一个字符串 指定要删除的字符集 如果
  • 使用 Python 正则表达式匹配尾部斜杠

    我尝试像这样匹配尾随 type re match u https x x x
  • Android:ViewFlipper 和多个图像?

    嘿 我检查了大量的教程和指南 但不知何故找不到它 我需要在我的 Android 应用程序中包含多个图像 它就像一个图像查看器 幻灯片 目前 我只需使用 ImageView 和适配器 使用左 右手势在 drawable mdpi 目录中的图片
  • 如何从 Delphi 访问 Cassandra 分布式数据库

    我正在研究 Cassandra 是否可以作为我们服务器软件的分布式数据库存储的选择 服务器软件是用 Delphi 编写的 但我很难找到如何从 Delphi 访问 Cassandra 数据库的描述 一个建议SO的其他地方 https stac
  • 如何处理 redux saga 中的请求数组

    我正在尝试从我的反应本机应用程序上传多个文件 它正在给予Unexpected Tokenyield 语句错误 是否可以做yield在循环内 files map fileOb gt const response yield call File
  • 如何在 XCode 中获取文本字段的文本

    我用界面生成器制作了一个文本字段 我怎样才能让它的文本在其他地方使用 有没有类似的东西 string text myTextField Text 如果是这样 我该如何命名我的文本字段 因此 您要做的第一件事是在与 xib 文件关联的视图控制
  • 如何将 GUD 断点键绑定更改为旧的键绑定

    目前 我在最新版本的 Emacs 中使用 GUD 自旧版 Emacs 以来 键绑定已经发生了变化 现在设置断点是 C x C a C b 但它是 C 空格 我想知道是否有办法将键绑定更改为旧格式 由于某种原因我无法更改我的 Emacs 版本
  • 调整 select 方法以接受多个参数

    我需要实现一个方法select 可以绑定一个或多个参数和另一种方法 该方法将结果返回到index php 从index php调用所需的代码 echo this gt results gt korisnik id 这是需要实现的数据库类se