以下のステートメントにパラメーターを適切にバインドしようとしてい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 の問題を除いて)。