我正在尝试将参数正确绑定到以下语句Function
。我正在传递一个关联数组,value=>datatype
.
虽然在尝试此操作时出现错误:Notice: Undefined offset: 0 in db.class.php on line 69 Notice: Undefined offset: 1 in db.class.php on line 69
第 69for
行是Function
我该如何解决?和/或者我应该像这样费心去做吗?
这里是Function
protected function ConvertParams($stmt, $params){
$parrs = $params;
if(is_array($parrs)){
$parrCt = count($parrs);
echo '<pre>';
print_r($parrs);
echo '</pre>';
echo '<hr />';
for($i = 0; $i < $parrCt; ++$i){
switch ($parrs[$i][1]){
case 'string':
$stmt->bindParam($i + 1, $parrs[$i][0], PDO::PARAM_STR);
break;
case 'int':
$stmt->bindParam($i + 1, $parrs[$i][0], PDO::PARAM_INT);
break;
case 'boolean':
$stmt->bindParam($i + 1, $parrs[$i][0], PDO::PARAM_BOOL);
break;
case 'lob':
$stmt->bindParam($i + 1, $parrs[$i][0], PDO::PARAM_LOB);
break;
default:
$stmt->bindParam($i + 1, $parrs[$i][0]);
}
}
}
}
这是array
:
$db->Params = array('%a%'=>'string', '%Welcome%'=>'string');
请假设我正确连接到数据库,并且查询正确执行(减去这个 bindParam 问题)。