title: Pass by reference problem with PHP 5.3.1
body: <p>Ok, this is a weird problem, so please bear with me as I explain.</p>
  
  <p>We upgraded our dev servers from PHP 5.2.5 to 5.3.1.</p>
  
  <p>Loading up our code after the switch, we start getting errors like:</p>
  
  <p><code>Warning: Parameter 2 to mysqli_stmt::bind_param() expected to be a reference, value given in /home/spot/trunk/system/core/Database.class.php on line 105</code></p>
  
  <p>the line mentioned (105) is as follows:</p>
  
  <pre><code>call_user_func_array(Array($stmt, 'bind_param'), $passArray);
  </code></pre>
  
  <p>we changed the line to  the following:</p>
  
  <pre><code>call_user_func_array(Array($stmt, 'bind_param'), &amp;$passArray);
  </code></pre>
  
  <p>at this point (because <code>allow_call_time_pass_reference</code>) is turned off, php throws this:</p>
  
  <p><code>Deprecated: Call-time pass-by-reference has been deprecated in /home/spot/trunk/system/core/Database.class.php on line 105</code></p>
  
  <p>After trying to fix this for some time, I broke down and set <code>allow_call_time_pass_reference</code> to on.</p>
  
  <p>That got rid of the <code>Deprecated</code> warning, but now the <code>Warning: Parameter 2 to mysqli_stmt::bind_param() expected to be a reference</code> warning is throwing every time, <b>with or without</b> the referencing.</p>
  
  <p>I have zero clue how to fix this. If the target method was my own, I would just reference the incoming vars in the func declaration, but it's a (relatively) native method (mysqli).</p>
  
  <p>Has anyone experienced this? How can I get around it?</p>
  
  <p>Thank you.</p>