Ir para conteúdo
Fórum Script Brasil

dagel

Membros
  • Total de itens

    2
  • Registro em

  • Última visita

Sobre dagel

dagel's Achievements

0

Reputação

  1. dagel

    Erro de conexão com MYSQL

    Bom dia, obrigado! Falta de atenção total. Se eu puder aproveitar o post, eu fiz essa conexão de database como teste pois estou tentando conectar com uma database de mais colunas, mas mesmo com o mesmo código não consigo. Esse é o erro que aparece: Fatal error: Uncaught PDOException: SQLSTATE[21S01]: Insert value list does not match column list: 1136 Column count doesn't match value count at row 1 in C:\xampp\htdocs\formulario\classes\form.php:17 Stack trace: #0 C:\xampp\htdocs\formulario\classes\form.php(17): PDOStatement->execute(Array) #1 C:\xampp\htdocs\formulario\index.php(34): form::cadastrar('walter', 'walter@ter...', '11', '98965668', '11', '935151646') #2 {main} thrown in C:\xampp\htdocs\formulario\classes\form.php on line 17 Não quero usar todas as colunas da database, por isso estou usando "INSERT INTO", assim só será possível conectar com as colunas nomeadas, certo? Na database existem mais 6 colunas, algumas com type radio, e também a primeira coluna serve só para o AI. <?php if(isset($_POST['acao']) && $_POST['form'] == 'f_form'){ $nome = $_POST['nome']; $email = $_POST['email']; $ddd = $_POST['ddd']; $Tel = $_POST['Tel']; $dddCel = $_POST['dddCel']; $Cel = $_POST['Cel']; if($nome == ''){ Form::alert('erro','Insira seu nome'); }else if($email == ''){ Form::alert('erro','Insira seu email'); }else{ Form::cadastrar($nome,$email,$ddd,$Tel,$dddCel,$Cel); Form::alert('sucesso','Usuario' .$nome.'Cadastrado com sucesso!'); } } ?> <form method="POST"> <div><input type="text" name="nome" placeholder="Insira seu nome"></div> <div><input type="text" name="email" placeholder="Insira seu email"></div> <div><input type="text" name="ddd" placeholder="DDD"></div> <div><input type="text" name="Tel" placeholder="Telefone Fixo"></div> <div><input type="text" name="dddCel" placeholder="DDD"></div> <div><input type="text" name="Cel" placeholder="Celular"></div> <div><input type="submit" name="acao" value="Enviar"></div> <div><input type="hidden" name="form" value="f_form"></div> //"f_form" indica prigem do submit </form> ================================================================================== } public static function cadastrar($nome,$email,$ddd,$Tel,$dddCel,$Cel){ $sql = mysql::conectar()-> prepare("INSERT INTO CadastroLead VALUES(?,?,?,?,?,?) "); $sql->execute(array($nome,$email,$ddd,$Tel,$dddCel,$Cel)); }
  2. Olá a você que está lendo, com vai? Estou produzindo um formulário simples, apenas duas entradas no mysql, mas não saio deste erro: Fatal error: Uncaught PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 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 ''walter' VALUES('walter','walterdagel@terra.com.br')' at line 1 in C:\xampp\htdocs\formulario\classes\form.php:17 Stack trace: #0 C:\xampp\htdocs\formulario\classes\form.php(17): PDOStatement->execute(Array) #1 C:\xampp\htdocs\formulario\index.php(30): form::cadastrar('walter', 'walterdagel@ter...') #2 {main} thrown in C:\xampp\htdocs\formulario\classes\form.php on line 17 Agradeço muito a quem puder tirar um tempinho para me ajudar, estou nisso faz 2 semanas já Segue código: INDEX.PHP <?php include('config.php'); mysql::conectar(); ?> <!DOCTYPE htmll> <html lang="pt-br"> <head> <title>Formulário</title> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width-device-width, initial-scale=1.0"> <link href="form.css" rel="stylesheet"> <div class="form_cd"> <?php if(isset($_POST['acao']) && $_POST['form'] == 'f_form'){ $nome = $_POST['nome']; $email = $_POST['email']; if($nome == ''){ Form::alert('erro','Insira seu nome'); }else if($email == ''){ Form::alert('erro','Insira seu email'); }else{ Form::cadastrar($nome,$email); Form::alert('sucesso','Usuario' .$nome.'Cadastrado com sucesso!'); } } ?> <h1>De uma forma discreta!</h1> <h5>Cadastre-se e para receber o contato de uma consultora</h5> <form method="POST"> <div><input type="text" name="nome" placeholder="Insira seu nome"></div> <div><input type="text" name="email" placeholder="Insira seu email"></div> <div><input type="submit" name="acao" value="Enviar"></div> <div><input type="hidden" name="form" value="f_form"></div> //"f_form" indica prigem do submit </form> </div> </body> </html> CONFIG.PHP (SERVIDOR) -CONEXÃO TESTADA E OK <?php $print = function($class){ if(file_exists('classes/'.$class.'.php')){ include_once('classes/'.$class.'.php'); } }; spl_autoload_register($print); define('HOST',''); define('DATABASE',''); define('USER','); define('PASSWORD','); FORM.PHP <?php class form{ public static function alert($tipo,$mensagem){ if($tipo == 'erro'){ echo '<div style="background:black; color:red; font-size:25px;">' .$mensagem.'</div>'; return false; }else if($tipo == 'sucesso'){ echo '<div style="background:black; color:green; font-size:25px;">' .$mensagem.'</div>'; return false; } } public static function cadastrar($nome,$email){ $sql = mysql::conectar()-> prepare("INSERT INTO 'walter' VALUES(?,?) "); $sql->execute(array($nome,$email)); } } ?> MYSQL.PHP <?php class mysql{ private static $pdo; public static function conectar(){ if(self::$pdo == null){ try{ self::$pdo = new PDO('mysql:host='.HOST.';dbname='.DATABASE,USER,PASSWORD,array(PDO:: MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8")); self::$pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); }catch(Exception $e){ echo '<h2 style="color:red;"> Erro ao conectar com banco de dados <h2>'; } } return self::$pdo; } } ?>
×
×
  • Criar Novo...