2014-05-22 5 views
-4

У меня проблема с данными INSERT, когда я заполняю все строки, я не нахожу их в своей базе данных.Вставить данные через Php

Вот мой код:

<?php 

    include("/config/config.php"); 

      ///////////////////////////////traitment de la requete de selection ///////////////////////////////////// 

     if(isset($_POST['val'])) 

     { 
    echo "départ"; 
     $imm=$_POST[im]; 
     $doss=$_POST[nd]; 
     $ass=$_POST[ns]; 
     $bn=$_POST[bn]; 
     $trec=$_POST[T_rec]; 
     $Erec=$_POST[e_rec]; 
     $mt=$_POST[Mt]; 
     $Drec=$_POST[Dt]; 
     $INP=$_POST[inp]; 
     $com=$_POST[comm]; 

     $resultat=mysql_query("INSERT INTO rec_info ('imma','INP','n_dossier','nom_benif','nom_ass','montant','type_rec', 
     'date_rec','etat_rec','comm_rec','num_rec') Values 
     ('$imm','$INP','$doss','$bn','$ass','$mt','$trec','$Drec','$Erec','$comm','')"); 

     if($resultat) 
     { 

      echo "opération réussie "; 
     }else { 
      echo "opération non réussie "; 
     } 

     } 
    ?> 


</div> 

<div style=" position:absolute;left:15px;width:310px;top:173px; background-color:#eff5f7; font-size:102%; padding:0em;line-height:200% "> 
     Menu 
    <nav> 
     <ul id="menu"> 
     <li><a href="rec_recherche.php">Recherche d'une réclamation PEC </a></li> 
     <li><a href="s_rec.php">Saisir une réclamation PEC </a></li> 
     <li><a href="">Changement d'état d'une réclamation PEC</a></li> 
     <li><a href="index1.php">Quitter</a></li> 

     </ul> 
    </nav> 

     </div> 
</div> 

    </body> 
</html> 

Спасибо

+5

«Не могли бы вы найти ошибку» вопросы [не являются хорошими вопросами для переполнения стека] (http://meta.stackoverflow.com/questions/253787/are-there-legitimate-fix-my-code-questions?cb = 1 # 253788). Удостоверьтесь в краткой, но ** конкретной постановке проблемы **, точно сообщив нам, что не так. «Это не работает» - это не проблема. –

+0

Когда вы делаете INSERT INTO, ваши столбцы не используют кавычки. Либо возьмите их, либо замените их обратными окнами. Только VALUES используют одинарные кавычки. Вам также нужно использовать кавычки внутри '$ imm = $ _ POST [im];' как в '$ imm = $ _ POST ['im'];' и т. Д. –

+0

Добавить отчет об ошибках в начало вашего файла (ов) ' error_reporting (E_ALL); ini_set ('display_errors', 1); 'во время разработки. –

ответ

0

Вы не можете иметь одиночные кавычки вокруг ваших идентификаторов столбцов. Либо использовать тики или вообще ничего:

$resultat=mysql_query("INSERT INTO rec_info (imma,INP,n_dossier,nom_benif,nom_ass,montant,type_rec, 
    date_rec,etat_rec,comm_rec,num_rec) Values 
    ('$imm','$INP','$doss','$bn','$ass','$mt','$trec','$Drec','$Erec','$comm','')"); 

или

$resultat=mysql_query("INSERT INTO rec_info (`imma`,`INP`,`n_dossier`,`nom_benif`,`nom_ass`, 
`montant`,`type_rec`,`date_rec`,`etat_rec`,`comm_rec`,`num_rec) 
Values ('$imm','$INP','$doss','$bn','$ass','$mt','$trec','$Drec','$Erec','$comm','')"); 

Please, don't use mysql_* functions in new code. Они больше не поддерживаются and are officially deprecated. См. red box? Узнайте о prepared statements вместо этого, и используйте PDO или MySQLi - this article поможет вам решить, какой. Если вы выберете PDO, here is a good tutorial.

Вы также широко открыты для SQL injections

+0

Почему вы отправляете ответ, когда вы также голосуете, чтобы закрыть? – jeroen

+0

Я не верю, что эти два являются взаимоисключающими. Я думаю, что здесь есть возможность учить. Как PHP, так и как быть хорошим гражданином SO. Тем более, что есть работа по кодированию. –

+0

Вы отправляете ответ, в то же время пытаясь избежать того, что другие люди могут опубликовать ответ. Я не знаю, могу ли я квалифицировать это как «как быть хорошим гражданином СО». Это немного длинный комментарий, но :-) – jeroen

0

У вас есть проблемы с синтаксисом MySql

В запросе ваши имена полей должны быть написаны с обратной клещами не кавычки. Я бы привел пример, но стек не позволит мне вводить тики.

0

Эта часть должна иметь тиков:

$imm=$_POST['im']; 
    $doss=$_POST['nd']; 
    $ass=$_POST['ns']; 
    $bn=$_POST['bn']; 
    $trec=$_POST['T_rec']; 
    $Erec=$_POST['e_rec']; 
    $mt=$_POST['Mt']; 
    $Drec=$_POST['Dt']; 
    $INP=$_POST['inp']; 
    $com=$_POST['comm']; 

И эта часть не должна иметь клещей (полей таблицы):

$resultat=mysql_query("INSERT INTO rec_info (imma,INP,n_dossier,nom_benif,nom_ass,montant,type_rec, 
date_rec,etat_rec,comm_rec,num_rec) Values 
('$imm','$INP','$doss','$bn','$ass','$mt','$trec','$Drec','$Erec','$comm','')"); 

Помните, что клещи в MySQL является только для переменных.

Смежные вопросы