Jump to content
Sign in to follow this  
lhborges

Enviando SQL com bind_param e call_user_func_array

Recommended Posts

Boa noite pessoa,

Estou com uma dúvida e é a seguinte, estou criando uma classe onde eu vou passar os seguintes parametros;

 

VALORES - será um array com os valores dos campos EX($estearray[6]);

SQL - será o codigo mysql que irei utilzar (EX: INSERT INTO tabela(campo1,campo2) VALUES(?,?));

TIPO - é o tipo dos valores passados em BIND_PARAM ( EX: 'ssiidd');

 

Porém estou com dificuldade de passar o parametro com call_user_func_array

 

Bom o seguinte codigo que está passado é:

class EnviarMysql{
	
	function ExecutarMysql($sql,$valores,$tipo){
		$con = new ConexaoBanco();
		$con->open();

		$param = $con->acaoQuery($sql);
		
		$total = array_merge($tipo,$valores);
		print_r($total);
		
		call_user_func_array(array($param, 'bind_param'), $total);
		
		
		if($param->execute())
			print 'Success! ID of last inserted record is : ' .$param->insert_id .'<br>';
		
	}
	
}

E O ERRO QUE APARECE É O SEGUINTE:

 

Warning: Parameter 2 to mysqli_stmt::bind_param() expected to be a reference, value given in C:\Program

Files\VertrigoServ\www\projetoAgc\factory\EnviarMysql.php on line 15Call Stack#TimeMemoryFunctionLocation10.0018257424{main}( )...\NoticiaController.php:020.0094312656NoticiaModelo->Adicionar( )...\NoticiaController.php:1430.0094312800NoticiaDao->AdicionarDao( )...\NoticiaModelo.php:640.0096315176NoticiaDao->executarSql( )...\NoticiaDao.php:750.0096315384EnviarMysql->ExecutarMysql( )...\NoticiaDao.php:1460.0128331512call_user_func_array:{C:\Program Files\VertrigoServ\www\projetoAgc\factory\EnviarMysql.php:15} ( )...\EnviarMysql.php:15

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Similar Content

    • By Thalles Rangel
      Disponibilizando para vocês, sistema PHP 7 controle de estoque..
      https://www.4shared.com/rar/NsY_o5qwfi/controleDeEstoquePHPCodigoFont.html?
       
       
       
       
      OBS. NÃO SEGUE UM PADRÃO - É PARA QUEM ESTÁ APRENDENDO
    • By proflupin
      Estou com dificuldade para criar uma chave estrangeira no meu banco de dados.
       
      No meu cadastro de chamados, é buscado o id da sessão e passa ao banco de dados, conforme abaixo:
      $titulo = $_POST['titulo']; $desc = $_POST['desc']; $id_usuario = $_SESSION['id_usuario']; $query = "INSERT INTO `chamados` (`titulo_chamado`, `desc_chamado`, `usuario_id`) VALUES ('$titulo', '$desc', '$id_usuario')"; $insere = mysqli_query($conexao, $query); Minha tabela chamados é a seguinte:

       
      E a de usuários a seguinte:

       
      O que pretendo fazer é: ao inserir na tabela 'chamados'(id_usuario) seja referenciado com o (id_usuario) da tabela 'usuarios'.
    • By Worn
      Fala rapaziada estou tendo alguma Warmi no meu sistema to batendo a cabeça aqui e não consigo resolver 
      https://prnt.sc/oqrcmy
       
      linha do erro
      <?php /* * Login Class * * Desenvolvido por Gabriel Neves * Seguir cotes de desenvolvimento * */ class Login { private $tabela, $campoID, $campoLogin, $campoSenha; function __construct($tabela = 'tbl_usuarios', $campoID = 'id', $campoLogin = 'email', $campoSenha = 'senha') { // Iniciando sessão session_start(); // Definindo atributos $this->tabela = $tabela; $this->campoID = $campoID; $this->campoLogin = $campoLogin; $this->campoSenha = $campoSenha; } // ------------------------------------------------------------------------ /* * Retornando login do usuário que está na sessão * * @access public * @return string */ function getLogin() { return $_SESSION[$this->campoLogin]; } // ------------------------------------------------------------------------ /** * Retornando ID do usuário que está na sessão * * @access public * @return integer */ function getID() { return $_SESSION[$this->campoID]; } // ------------------------------------------------------------------------ /** * Trata as informações recebidas, procura o usuário no banco de dados e, se encontrado, * registra as informações na sessão. * * @access public * @param string * @param string * @param string * @return boolean */ function logar($login, $senha, $redireciona = null) { // Tratando as informações $login = mysqli_real_escape_string($login); $senha = mysqli_real_escape_string($senha); // Verifica se o usuário existe $query = mysqli_query($conexao, "SELECT {$this->campoID}, {$this->campoLogin}, {$this->campoSenha} FROM {$this->tabela} WHERE {$this->campoLogin} = '{$login}' AND {$this->campoSenha} = '{$senha}'"); // Se encontrado um usuário if(mysqli_num_rows($query) > 0) { // Instanciando usuário $usuario = mysqli_fetch_object($query); // Registrando sessão $_SESSION[$this->campoID] = $usuario->{$this->campoID}; $_SESSION[$this->campoLogin] = $usuario->{$this->campoLogin}; $_SESSION[$this->campoSenha] = $usuario->{$this->campoSenha}; // Se informado redirecionamento if ($redireciona !== null) header("Location: {$redireciona}"); else return true; } else return false; } // ------------------------------------------------------------------------ /** * Verifica se o usuário está logado * * @access public * @param string * @return boolean */ function verificar($redireciona = null) { // Se as sessões estiverem setadas if(isset($_SESSION[$this->campoID]) and isset($_SESSION[$this->campoLogin]) and isset($_SESSION[$this->campoSenha])) return true; else { // Se informado redirecionamento if ($redireciona !== null) header("Location: {$redireciona}"); return false; } } // ------------------------------------------------------------------------ /** * Finaliza a sessão do usuário * * @access public * @param string * @return void */ function logout($redireciona = null) { // Limpa a Sessão $_SESSION = array(); // Destroi a Sessão session_destroy(); // Modifica o ID da Sessão session_regenerate_id(); // Se informado redirecionamento if ($redireciona !== null) header("Location: {$redireciona}"); } } ?>  
    • By danielmmoretto
      Estou quebrando a cuca aqui pra achar uma solução para fazer um TOP 10 de uma tabela (tbpontuacao) onde tenho os campos USUARIO, CIDADE, PONTOS, DATA.
      Cada vez que o usuário conclui uma etapa, ele ganha pontos que são cadastrados nesta tabela com a devida data e sua identificação.
       
      Preciso de um resultado que me mostre os 10 melhores colocados do mês atual.
       
      Alguém pode me dar uma luz... um caminho... 

      GOSTARIA DE UM RESULTADO MAIS OU MENOS ASSIM...

      1º  JOÃO MIGUEL  10 PONTOS  CAMPINAS/SP
      2º  ANA CLARA       9 PONTOS  BELO HORIZONTE/MG
      3º JULIA SA             6 PONTOS  CARAPICUIBA/SP
      ...
       
    • By WitchMad
      Oi gente!
      Seguinte:
      Estou querendo fazer um sistema de assinatura, com data de validade.
      Já tenho toda a base pronta, só não sei como fazer uma forma de verificar essa data.
      Por hora estou registrando a data e pensei em algo assim:
      <?php $data_validade = "2019-04-26"; if($data_validade <= date('Y-m-d')){ header("Location: index"); $_SESSION['msg'] = "Conta expirada, realize um novo pagamento"; } ?> Mas creio que isso não funcione.
       
      Se tiver alguma função ou ferramenta que possa fazer essa verificação eu gostaria
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.