我有一個簡單的代碼從PHP到MySQL打印的相關信息,但每次我嘗試打印,我得到這個錯誤PHP和MySQL錯誤
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 ''idfunc', 'nomefunc', 'rg', 'rgemissor', 'cpf', 'cnh', 'reservista', 'estrangeir' at line 1
我的代碼是:
<?php
include('mysql.php');
mysql_select_db("teste", $conexao);
$idfunc = $_POST['idfunc'];
$nomefunc = $_POST['nomefunc'];
$rg = $_POST['rg'];
$rgemissor = $_POST['rgemissor'];
$cpf = $_POST['cpf'];
$cnh = $_POST['cnh'];
$reservista = $_POST['reservista'];
$estrangeiro = $_POST['estrangeiro'];
$tituloeleitor = $_POST['tituloeleitor'];
$zonaeleitoral = $_POST['zonaeleitoral'];
$sindicato = $_POST['sindicato'];
$matsindical = $_POST['matsindical'];
$estadocivil = $_POST['estadocivil'];
$datanasc = $_POST['datanasc'];
$nacionalidade = $_POST['nacionalidade'];
$naturalidade = $_POST['naturalidade'];
$endereco = $_POST['endereco'];
$salario = $_POST['salario'];
$expediente = $_POST['expediente'];
$cargahoraria = $_POST['cargahoraria'];
$beneficiarios = $_POST['beneficiarios'];
$admissao = $_POST['admissao'];
$numeropis = $_POST['numeropis'];
$banco = $_POST['banco'];
$agencia = $_POST['agencia'];
$dataretroativo['dataretroativo'];
$datadispensa['datadispensa'];
$sexo['sexo'];
$nomepai['nomepai'];
$nomemae['nomemae'];
$funcao['funcao'];
$comando_sql="INSERT INTO funcionarios ('idfunc', 'nomefunc', 'rg', 'rgemissor', 'cpf', 'cnh', 'reservista', 'estrangeiro', 'tituloeleitor', 'zonaeleitoral', 'sindicato', 'matsindical', 'estadocivil', 'datanasc', 'nacionalidade', 'naturalidade', 'endereco', 'salario', 'expediente', 'cargahoraria', 'beneficiarios', 'admissao', 'numeropis', 'banco', 'agencia', 'dataretroativo', 'datadispensa', 'sexo', 'nomepai', 'nomemae', 'funcao')
VALUES ('$idfunc,'$nomefunc','$rg','$rgemissor','$cpf','$cnh','$reservista','$estrangeiro','$tituloeleitor','$zonaeleitoral','$sindicato','$matsindical','$estadocivil','$datanasc','$nacionalidade','$naturalidade','$endereco','$salario','$expediente','$cargahoraria','$beneficiarios','$admissao','$numeropis','$banco','$agencia','$dataretroativo','$datadispensa','$sexo','$nomepai','$nomemae','$funcao')";
if (!mysql_query($comando_sql,$conexao))
{
die('Error: Matricula ja cadastrada | <a href="/">Voltar ao cadastro</a>' .mysql_error());
}
echo "Registro adicinado com sucesso!";
mysql_close($conexao)
?>
<a href="/">Voltar ao cadastro</a>
我在論壇搜索了更多關於這個錯誤的問題,但沒有解決這個問題。
字段名必須裝在'\' \'',而不是在' '''(高逗號) –
AmazingDreams
我總是看到這種類型的問題,你應該閱讀[PHP和MySQL的常見數據庫調試](http://jason.pureconcepts.net/2013/04/common-debugging-php-mysql/)。 –
另外,*嘆* * SQL注入! [偉大的逃避現實(或:你需要知道如何處理文本中的文本)](http://kunststube.net/escapism/) – deceze