हाँ, bindParam
एक पैरामीटर को चर नाम . से बांधता है (संदर्भ), मान नहीं, जैसा कि मैनुअल कहता है
।
हालांकि, आपकी स्थिति के लिए एक सरल वाक्यविन्यास है। PDOStatement::execute
मानों की एक सरणी ले सकता है।
public function insert($table, $cols, $values){
$placeholder = array();
for ($i = 0; i < count($values); $i++)
$placeholder[] = '?';
$sql = 'INSERT INTO '. $table . ' (`' . implode("`, `", $cols) . '`) ';
$sql.= 'VALUES (' . implode(", ", $placeholder) . ')';
$stmt = $this->dbh->prepare($sql);
$stmt->execute($values);
}