INSERT INTO语句中的PHP语法错误。,SQLExecDirect中的SQL状态37000

时间:2017-12-06 05:38:31

标签: php html mysql sql sql-server

错误

  

警告:odbc_exec():SQL错误:[Microsoft] [ODBC Microsoft Access驱动程序] INSERT INTO语句中的语法错误。,E:\ DEP \ Prog \ PHP6 \ starcraft \ starcraft \ personnage_traitement中的SQLExecDirect中的SQL状态37000。第61行的PHP   [Microsoft] [ODBC Microsoft Access驱动程序] INSERT INTO语句中的语法错误。

使用Ajouter操作时的SQL查询(ADD in english)

$nom =$_POST["nom"];
$faction = $_POST["faction"];
$age = $_POST["age"];
$race = $_POST["race"];
$description = $_POST["description"];
$fichier = $_POST["image"];

if ($_POST["action"] == "Ajouter") {


  $sql="Insert into personnage (nom,  faction, race, age, description, image) values ('$nom', $faction, $race, $age,'$description', '$fichier')";


  odbc_exec($odbc, $sql) or die(odbc_error($odbc));

我的代码

<fieldset>
    <legend>New hero</legend>
                    <label for="nom">Nom : </label><input type="text"     name="nom" id="nom" size="40" required><br>
                    <label for="age">Âge : </label><input type="number" name="age" id="age" size="40" required><br>
                    <label for="race">Race : </label><select name="race" id="race" size="1" >
                        <?php
                        $sql2 = "SELECT NomRace FROM Race;";
                        $resultat2 = odbc_exec($odbc, $sql2) or die(odbc_error($odbc));

                        odbc_fetch_row($resultat2, 0);

                        while (odbc_fetch_row($resultat2)) {

                            $idS = odbc_result($resultat2, "IDRace");

                            $race = utf8_encode(odbc_result($resultat2, "NomRace"));

                            echo "<OPTION VALUE=\"$idS\">$race</OPTION>";
                        }
                        ?>
                    </select> <a href="race.php">Édition des races</a><br>
                    <label for="faction">Faction : </label><select name="faction" id="faction" size="1" >
                        <?php

                        $sql3 = "SELECT NomFaction FROM Faction;";
                        $resultat3 = odbc_exec($odbc, $sql3) or die(odbc_error($odbc));

                        odbc_fetch_row($resultat3, 0);

                        while (odbc_fetch_row($resultat3)) {

                            $idS = odbc_result($resultat3, "IDFaction");

                            $faction = utf8_encode(odbc_result($resultat3, "NomFaction"));

                            echo "<OPTION VALUE=\"$idS\">$faction</OPTION>";
                        }
                        ?>
                    </select> <a href="faction.php">Édition des factions</a><br>
                    <label for="description">Description : </label><input type="text" name="description" id="description" size="40" required>
                    <br>
                    <br>
                    <input type="hidden" name="MAX_FILE_SIZE" value="100000">
                    <label for="fichier">Fichier d'image : </label>
                    <input type="file" onchange="readURL(this);" name="fichier" id="fichier">
                    <img alt="Image" id="preview" title="image" src="#" />
                    <br>
                    <br>
                    <input type="submit" name="action" value="Ajouter">
                </fieldset>  

3 个答案:

答案 0 :(得分:0)

这是一个示例代码,在此之前您可以进行if-else阻止

if(condition)
{

$sql = "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('John', 'Doe', 'john@example.com');"

}

答案 1 :(得分:0)

<?php
$nom =$_POST["nom"];
$faction = $_POST["faction"];
$age = $_POST["age"];
$race = $_POST["race"];
$description = $_POST["description"];
$fichier = $_POST["image"];

if ($_POST["action"] == "Ajouter")
{
    $sql="INSERT into `personnage` SET `nom`='$nom',`faction`='$faction',`race`='$race',`age`='$age',`description`='$description',`image`='$fichier'";
    odbc_exec($odbc, $sql) or die(odbc_error($odbc));
}

?>

答案 2 :(得分:0)

<?php
$sql="INSERT INTO personnage(nom,faction,race,age,description,image)values('$nom','$faction','$race','$age','$description','$fichier')";odbc_exec($odbc,$sql)ordie(odbc_error($odbc));  

or in mysql

$sql=mysql_query("INSERT INTO personnage(nom,faction,race,age,description,image)values('$nom','$faction','$race','$age','$description','$fichier')")or die("Could not execute the insert query:".mysql_error());
?>