Invision Power Services, Inc. * @copyright (c) Invision Power Services, Inc. * @license https://www.invisioncommunity.com/legal/standards/ * @package Invision Community * @since 18 Feb 2013 */ namespace IPSUtf8\Db; /** * Binding Class for Prepared Statements */ class Bind { /** * @brief Values */ public $values = array(); /** * @brief Types */ protected $types = ''; /** * Add value * * @param string $type Type * @param mixed $value Value * @return void */ public function add( $type, $value ) { $this->values[] = $value; $this->types .= $type; } /** * Do we have any bound values? * * @return bool */ public function haveBinds() { return !( empty( $this->values ) ); } /** * Get array to pass to mysqli_stmt::bind_param * * @see mysqli_stmt::bind_param * @return array */ public function get() { $values = array(); foreach ( $this->values as $k => $v ) { $values[ $k ] = &$this->values[ $k ]; } return array_merge( array( $this->types ), $values ); } }