system/Database/MySQLi/PreparedQuery.php
public function _execute(array $data): bool
	{
		if (is_null($this->statement))
		{
			throw new \BadMethodCallException('You must call prepare before trying to execute a prepared statement.');
		}

		// First off -bind the parameters
		$bindTypes = '';

		// Determine the type string
		foreach ($data as $item)
		{
			if (is_integer($item))
			{
				$bindTypes .= 'i';
			}
			elseif (is_numeric($item))
			{
				$bindTypes .= 'd';
			}
			else
			{
				$bindTypes .= 's';
			}
		}

		// Bind it
		$this->statement->bind_param($bindTypes, ...$data);

		$success = $this->statement->execute();

		return $success;
	}
public function _execute(array $data): bool
	{
		if (is_null($this->statement))
		{
			throw new \BadMethodCallException('You must call prepare before trying to execute a prepared statement.');
		}

		// First off -bind the parameters
		$bindTypes = '';

		// Determine the type string
		foreach ($data as $item)
		{
			if (is_integer($item))
			{
				$bindTypes .= 'i';
			}
			elseif (is_numeric($item))
			{
				$bindTypes .= 'd';
			}
			else
			{
				$bindTypes .= 's';
			}
		}

		// Bind it
		$this->statement->bind_param($bindTypes, ...$data);

		$success = $this->statement->execute();

		return $success;
	}
Takes a new set of data and runs it against the currently
prepared query. Upon success, will return a Results object.

@param array $data

@return bool