PDO PHP não alimenta meu banco!

Olá pessoal, estou com um problema, não consigo alimentar meu banco de dados com as informações que vai do HTML para as variáveis em PHP, elas simplesmente estão jogando o nome das variáveis no Banco…


Meu código PHP:

<?php //Informações para conexão com o banco de dados define( 'MYSQL_HOST', 'localhost' ); define( 'MYSQL_USER', 'root' ); define( 'MYSQL_PASSWORD', '' ); define( 'MYSQL_DB_NAME', 'planodecontas' ); //instancia um objeto da classe PDO chamado $conn $PDO = new PDO( 'mysql:host=' . MYSQL_HOST . ';dbname=' . MYSQL_DB_NAME, MYSQL_USER, MYSQL_PASSWORD ); // verifica se tem algum erro e mostra caso tenha algum try { $PDO = new PDO( 'mysql:host=' . MYSQL_HOST . ';dbname=' . MYSQL_DB_NAME, MYSQL_USER, MYSQL_PASSWORD ); } catch ( PDOException $e ) { echo 'Erro ao conectar com o MySQL: ' . $e->getMessage(); } $PDO->exec("set names utf8"); // inserindo dados no banco $data = $_POST['data']; $select1 = $_POST['select1']; $select2 = $_POST['select2']; $valor1 = $_POST['valor1']; $valor2 = $_POST['valor2']; $mensagem = $_POST['mensagem']; $sql = "INSERT INTO plano(data, select1, select2, valor1, valor2, mensagem) VALUES ('data', 'select1', 'select2', 'valor1', 'valor2', 'mensagem')"; $stmt = $PDO -> prepare( $sql ); $result = $stmt -> execute(); if ( ! $result ) { var_dump( $stmt->errorInfo() ); exit; } echo $stmt->rowCount() . ""; ?>

Faltou pelo menos o símbolo $ (’$data’, ‘$select1’, …

Dá uma olhada aqui: http://pt.stackoverflow.com/questions/7540/explicação-sobre-concatenação-de-variáveis-em-php

Isso resolve diretamente sua dúvida sobre como concatenar variável dentro de uma string, mas em relação a SQL especificamente, da forma que você está tentando fazer tem um problema básico de segurança, leia sobre SQL injection. Então não jogue o conteúdo que o usuário digita direto na string do SQL. Use parametros como mostra aqui: http://www.w3schools.com/php/php_mysql_prepared_statements.asp