高手进来讨论讨论!

varkychan 2004-08-06 06:09:53
PHP5加进了MySQLi,我相信大家都知道,mysqli可以存储查询语句,还可以绑定变量如$st=$oMysqli->prepare("insert into table values (?,?,?)");
$st->bind_param("iss",$no,$name,$addr);
这样,就绑定了三个变量,它们按顺序替代到"?"中,我相信大家都知道,所以就不多说.

我就是想写一个这样的类,但在提供bind_param这个方法却无法达到Mysqli的效果.首先,参量数量不定,这可以用func_get_args()来实现,但如何引用绑定的变量到类中的属性数组呢?还有一个问题,如果在调用bind_param前,没有定义$no,$name,$addr,程序会报错.但如果在类中,bind_param的方法是这样写的,如:
public function bind_param($sType,&$param1,&$param2,&$param3){}
这样,就算在调用这个方法前,变量$no,$name,$addr没有定义,也不会报错,可以在调用这个方法后,再改变$no,$name,$addr的值,类中的引用也就跟着改变了.

但这样的话,bind_param的参数就固定了,就不能起到可变数量的参数的调用,因此我想用create_function来动态创建一个bind_param方法,这样就可以根据要绑定的变量的多少来生成参数列表!但失败了!我的试验代码如下:
<?php
class test {
public $binding;
function __construct() {
$this->binding=create_function('$a','echo $a;');
}
}
$o=new test;
$o->binding("test");
?>
就这样,但不能实现,所以在此请教各位高手,有什么更好的解决方法!谢谢
...全文
83 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
varkychan 2004-08-20
  • 打赏
  • 举报
回复
up myself
fhiesc 2004-08-20
  • 打赏
  • 举报
回复
我来看过了,不错!
varkychan 2004-08-20
  • 打赏
  • 举报
回复
放了十几天,竟然没人看

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧