public function bindParams($params)
{
$bindParams = array('');
foreach ($params as $dbColumnName => $dbColumnValue) {
$dbColumnValueAry = !is_array($dbColumnValue) ? array($dbColumnValue) : $dbColumnValue;
$i = 1;
foreach ($dbColumnValueAry as $dbColumnValueAryValue) {
${$dbColumnName . $i} = $dbColumnValueAryValue;
if (is_int($dbColumnValueAryValue)) {
$bindParams[0] .= 'i';
} else {
if (is_double($dbColumnValueAryValue)) {
$bindParams[0] .= 'd';
} else {
if (is_string($dbColumnValueAryValue)) {
$bindParams[0] .= 's';
} else {
if (is_null($dbColumnValueAryValue)) {
$bindParams[0] .= 's';
} else {
$bindParams[0] .= 'b';
}
}
}
}
$bindParams[] =& ${$dbColumnName . $i};
$i++;
}
}
call_user_func_array(array($this->statement, 'bind_param'), $bindParams);
return $this;
}