php动态绑定变量的用法

yipeiwu_com7年前PHP代码库

本文实例讲述了php动态绑定变量的用法。分享给大家供大家参考。具体如下:

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

希望本文所述对大家的php程序设计有所帮助。

相关文章

PHP函数rtrim()使用中的怪异现象分析

本文实例讲述了PHP函数rtrim()使用中的怪异现象。分享给大家供大家参考,具体如下: 今天用rtrim()函数时遇到了一个奇怪的问题: echo rtrim('<p>...

Paypal实现循环扣款(订阅)功能

起因 业务需求要集成Paypal,实现循环扣款功能,然而百度和GOOGLE了一圈,除官网外,没找到相关开发教程,只好在Paypal上看,花了两天后集成成功,这里对如何使用Paypal的支...

php Try Catch异常测试

页面try catch里使用c的 c1,c1里使用b的b1,b1里使用a的a1。 默认的是:a1里抛出异常,b1里捕获a1的异常,然后再把刚才的异常抛出,c1捕获,然后抛出,最后页面捕获...

PHP实现的AES双向加密解密功能示例【128位】

本文实例讲述了PHP实现的AES双向加密解密功能。分享给大家供大家参考,具体如下: <?php /* * Created on 2018-9-1 * * To c...

作为PHP程序员你要知道的另外一种日志

作为PHP程序员你要知道的另外一种日志

前言 本来准备讲解nginx和apache的日志的,但是个人不太推荐apache(纯属个人爱好),这里就不介绍apache的日志了。 作为一名程序员,比码代码还重要那么一点点的东西...