我在php.net上找到了以下代码。我正在尝试为MySQLi库编写一个包装器,使事情变得异常简单。如果这会降低性能,我会跳过它并找到另一种方法,如果这样可行,那么我会这样做。
我有一个查询函数,如果有人传入多个变量,我认为必须准备该函数。我用来将数组传递给mysqli_stmt_bind_param
的函数是call_user_func_array
,我觉得这会让事情变慢。我是对的吗?
<?php
/* just explaining how to call mysqli_stmt_bind_param with a parameter array */
$sql_link = mysqli_connect('localhost', 'my_user', 'my_password', 'world');
$type = "isssi";
$param = array("5", "File Description", "File Title", "Original Name", time());
$sql = "INSERT INTO file_detail (file_id, file_description, file_title, file_original_name, file_upload_date) VALUES (?, ?, ?, ?, ?)";
$sql_stmt = mysqli_prepare ($sql_link, $sql);
call_user_func_array('mysqli_stmt_bind_param', array_merge (array($sql_stmt, $type), $param);
mysqli_stmt_execute($sql_stmt);
?>
答案 0 :(得分:1)
不。你错了。
1 call_user_func_array
电话永远不会成为表演的瓶颈
因此,如果执行速度很慢 - 那么您的查询运行缓慢。