通过Php插入数据

时间:2014-05-22 00:10:40

标签: php

我在数据INSERT上遇到问题,当我填充所有行时,我在DataBase上找不到它们。

这是我的代码:

<?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>

谢谢

3 个答案:

答案 0 :(得分: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,并使用PDOMySQLi - this article将帮助您确定哪个。如果您选择PDO here is a good tutorial

您也对SQL injections

持开放态度

答案 1 :(得分:0)

您的MySql语法存在问题

在您的查询中,您的字段名称应使用后标记而不是引号。我会给出一个例子,但是堆栈不会让我输回标记。

答案 2 :(得分: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中的ticks仅用于变量。