Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

marcelobbt

PDO - Insert

Recommended Posts

Estou tentando criar uma classe CRUD, mas está dando erro na função para inserir dados.

 

O erro que está apresentando é este: Fatal error: Call to undefined function bindValue() in ... on line 46

<?php
	Class Crud2 {
		function __construct(){
			$host = '127.0.0.1';
    		$banco = 'castelo';
    		$usuario = 'root';
    		$senha = 'qwer';
    		$drive = 'mysql';
    		$porta = '';
    		$charset = 'utf-8';
    		
    		$this->usuario = $usuario;
    		$this->senha = $senha;
    		$this->bd = "$drive:host=$host; dbname=$banco";
    	}
    	
    	public function conecta() {
    		$this->usuario;
            $this->senha;
            $this->bd;
            
            try {
				$this->crud = new PDO ($this->bd, $this->usuario, $this->senha);
			} catch (PDOException $e) {
				echo $e->getMessage();
			}
        }
		
		function seleciona ($tabela, $campo, $valor){
			$this->conecta();
			$sql ="('INSERT INTO $tabela (";
			$a=$b=0;
			$sql2="";
			foreach ($campo as $camp) {
				$sql = $sql. $camp.", ";
				$sql2 = $sql2.":".$camp.", ";
				$imag[$a]=":".$camp; 
				$a++;
			}
			$sql = substr($sql, 0, -2);
			$sql2 = substr($sql2, 0, -2);
			$sql = $sql . ") VALUES (".$sql2.")";
			$query=$this->crud->prepare($sql);
			foreach ($valor as $val) {
				
				$query=bindValue("$imag[$b]",$val);	
				$b ++;
			}
			$query->execute;
		}
	}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Este erro sumiu, agora aparece os seguintes erros:

 

Notice: Undefined property: PDOStatement::$execute in ... on line 49

Warning: Invalid argument supplied for foreach() in ... on line 45

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vê se pode me ajudar com este erro. Não estou conseguindo resolve-lo.

 

array(3) { [0]=> string(5) "42000" [1]=> int(1064) [2]=> string(211) "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''INSERT INTO usuarios (Usuario, Senha) VALUES ('Teste2', '12345')' at line 1" }

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.