dedlfix: prepared statement

Beitrag lesen

echo $begrüßung;

wie gebe ich ihm beim bind_param() mit EINER variable n parameter mit?

call_user_func_array() bietet sich dafür an. Baue die Parameterliste für $stmt->bind_param() (types, var1, var2...) in einem Array zusammen, das du als zweiten Parameter übergibst. Als erster muss ein callback übergeben werden. Einfache Funktionsnamen werden als String übergeben. Wenn man aber die Methode eines Objektes ansprechen möchte muss man ein spezielles Array übergeben: array($stmt, 'bind_param')

Zusammengesetzt ergibt das:

~~~php $parameters = array('si');
  $parameters[] = $param1;
  $parameters[] = $param2;
  ...
  call_user_func_array(array($stmt, 'bind_param'), $parameters);

  
  
echo "$verabschiedung $name";  
  
P.S: Unter PHP4 musste man für den callback das Objekt als Referenz übergeben, wenn man nicht mit einer Kopie arbeiten wollte: array(&$stmt, 'bind\_param'). Unter PHP5 wird bei Objekten immer eine Referenz übergeben.