ฉันกำลังพยายามผูกพารามิเตอร์กับคำสั่งที่มี 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
บรรทัด 69 คือ for
บรรทัดใน 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 นี้)