欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

动态 bindVars 的用法

程序员文章站 2022-06-08 16:24:34
...
动态 bindVars 的用法
private function bindVars($stmt,$params) {
    if ($params != null) {
        $types = '';                        //initial sting with types
        foreach($params as $param) {        //for each element, determine type and add
            if(is_int($param)) {
                $types .= 'i';              //integer
            } elseif (is_float($param)) {
                $types .= 'd';              //double
            } elseif (is_string($param)) {
                $types .= 's';              //string
            } else {
                $types .= 'b';              //blob and unknown
            }
        }
 
        $bind_names[] = $types;             //first param needed is the type string
                                            // eg:  'issss'
 
        for ($i=0; $i<count($params);$i++) {//go through incoming params and added em to array
            $bind_name = 'bind' . $i;       //give them an arbitrary name
            $$bind_name = $params[$i];      //add the parameter to the variable variable
            $bind_names[] = &$$bind_name;   //now associate the variable as an element in an array
        }
 
                                            //call the function bind_param with dynamic params
        call_user_func_array(array($stmt,'bind_param'),$bind_names);
    }
    return $stmt;                           //return the bound statement