将下拉列表插入mysql

时间:2015-03-25 19:26:16

标签: php mysql

我想用下拉列表将数据插入到mysql数据库中,但是我有这个错误:  解析错误:语法错误,第37行的C:\ wamp \ www \ oustadee \ profil.php中的意外'$ bio'(T_VARIABLE) 这是代码:                                                                                    Oustadee                                                                                                                                

                        
  • 联络
  •                     

                                     

Oustadee

            <!-- PHP -->
            <?php 
            session_start();

            echo '<p>Bonjour,'. ' ' .  $_SESSION['email'] . '!</p>';
                if (isset($_POST['submit'])){
                $bio=htmlspecialchars(trim($_POST['bio']));
                $numero=htmlspecialchars(trim($_POST['numero']));
                $ville=htmlspecialchars(trim($_POST['ville']));
                $niveau=htmlspecialchars(trim($_POST['niveau']));
                $matiere=htmlspecialchars(trim($_POST['matiere']));
                            try
                {
                    $bdd = new PDO('mysql:host=localhost;dbname=test;charset=utf8', 'root', '',array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));

                }
                catch (Exception $e)
                {
                        die('Erreur : ' . $e->getMessage());
                }

            $req=$bdd->prepare('INSERT INTO membres(bio,numero,ville,niveau,matiere) VALUES ('$bio', '$numero','$ville', '$niveau', '$matiere')');  
            $req->execute(array(
                'bio' => $bio,
                'numero' => $numero,
                'ville'=> $ville,
                'niveau' => $niveau,
                'matiere' => $matiere
                ));
            }

            ?>

            <!-- END PHP -->
            <p> Vous pouvez commencer à créer votre annonce! </p>
            <form method="post" action="profil.php">

            <label for="bio">Bio:</label><br/>
            <textarea rows="4" cols="50"></textarea><br/>

            <label for="numero">Numéro:</label><br />
            <input type="text"><br><br>
                <label for="ville">Ville:</label>
                    <select name="ville" id="ville">
                        <option value="casablanca">Casablanca</option>
                        <option value="rabat">Rabat</option>
                        <option value="marrakech">Marrakech</option>
                    </select>
                <label for="niveau">Niveau:</label>
                    <select name="niveau" id="niveau">
                        <option value="bac">Bac</option>
                        <option value="6éme">Prépa</option>
                        <option value="université">Université</option>
                    </select><p>    
                <label for="matiere">Matières:</label>
                <input type="checkbox" value="mathematique">Mathématiques
            <input type="checkbox" value="francais">Francais
            <input type="checkbox" value="informatique">Informatique
            <input type="checkbox" value="anglais">Anglais</p>  

            <input type="submit" value="Valider">
            </form>
            </body>
            </html>

这是第37行:

            $req=$bdd->prepare('INSERT INTO membres(bio,numero,ville,niveau,matiere) VALUES ('$bio', '$numero','$ville', '$niveau', '$matiere')');

2 个答案:

答案 0 :(得分:2)

尝试做:

$req=$bdd->prepare("INSERT INTO membres(bio,numero,ville,niveau,matiere) VALUES ('$bio', '$numero','$ville', '$niveau', '$matiere')");

含义添加双引号。

答案 1 :(得分:0)

$req=$bdd->prepare('INSERT INTO membres(bio,numero,ville,niveau,matiere) VALUES (' . $bio . ', ' . $numero . ',' . $ville . ', ' . $niveau . ', ' . $matiere . ')');