使用未定义的变量调用动态创建函数

时间:2012-04-16 08:30:50

标签: php firebird interbase

我正在使用数据库进行多次插入/更新,而且过程非常缓慢。

在尝试修复它的过程中,我找到了ibase_prepareibase_execute,现在我正在开发一个函数来进行所有更新和插入。

问题在于插入/更新的字段数量,它们是可变的,我不知道如何调用ibase_execute($query, $field1, $field2,..., $fieldx);

有时候是1,其他人2,其他更多。

<?php
$dbh = ibase_connect($host, $username, $password);
$updates = array(1 => 'Eric',5 => 'Filip',7 => 'Larry');
$query = ibase_prepare($dbh, "UPDATE FOO SET BAR = ? WHERE BAZ = ?");
foreach ($updates as $baz => $bar) {
    ibase_execute($query, $bar, $baz);
}
?>

有什么想法合作吗?可以在执行时间中定义一个函数吗?在流上或类似的东西?

感谢您的时间

1 个答案:

答案 0 :(得分:1)

call_user_func_array应该能够做你想做的事。只需将字段放入数组:

$result = call_user_func_array("ibase_execute", array("field1"); //Just 1 field
$result = call_user_func_array("ibase_execute", array("field1", "field2", "field3")); //3 fields