我现在正在做我的第一个自己的数据库类,目前我正在做准备功能。
这个函数的作用是接受一个 SQL 查询,然后是一个包含语句变量的数组。我在将参数绑定到语句时遇到问题。
这就是函数现在的样子
public function prepare($query, $var) {
$types = '';
foreach($var as $a) {
$type = gettype($a);
switch($type) {
case 'integer':
$types .= 'i';
break;
case 'string':
$types .= 's';
break;
default:
exit('Invalid type: ' . $a .' ' . $type . '(' . count($a) . ')');
break;
}
}
$stmt = self::$connection->prepare($query);
$stmt->bind_param($types, $var); // How do I do here??
$stmt->execute();
$result = $stmt->get_result();
while($row = $result->fetch_assoc()) {
print_r($row);
}
}
一切都按我的意愿工作(我知道这个功能可以做一些改进,但它做了它需要做的事情)。我已经评论了我无法弄清楚该怎么做的那一行。$var 是一个数组,如果我没记错的话,变量需要用逗号分开传递。这是我无能为力的地方。