Php - 不能再插入sql了

时间:2017-12-15 11:21:56

标签: php pdo

这是我的表单代码:

<?php session_start(); 
        $nom = $_POST['nom'];
        $labo = $_POST['labo'];
        $mail = $_POST['email'];
        $mdp = $_POST['pass'];

        echo $mdp."; ".$nom;
        try{
            $bd = new PDO('mysql:host=localhost;port=3306;dbname=cl54-smad','cl54-smad','s/Cdq-!N-');
            }catch(Exception $ex){
                echo $ex;
            }
        $req = $bd -> exec("insert into laboratoire(nom, responsable, mail, mdp) VALUES('".$labo."', '".$nom."', '".$mail."', '".$mdp."')");
        ?>

然后将php处理数据插入到我的数据库表中:

en-IN

我真的尝试了几个小时,并且还在不同的线程中进行搜索,但直到现在还没有任何东西。

编辑:我终于找到了问题的核心,我认为我在SGBD中使用了“laboratoire”表属性,因此查询可能无法执行和执行任何因素在这种情况下,我创建了一个新表,问题实际上已经解决了。

2 个答案:

答案 0 :(得分:0)

如果以前这样做了,现在没有对它进行任何更改,你应该检查MySQL中是否有一个自动增量的主键定义为tinyint或类似的东西。

如果计数达到该类型的最大限制[tinyint的256个值,smallint的65536个等等],则无法向该表添加任何其他内容。

此问题的修复应该非常简单,因为您只能将字段定义为单一类型。例如:如果是tinyint,请转到smallint

另外,请检查您是否需要签署值,如果没有,请检查未签名的框。此外,为未来做好计划,因为根据您的使用情况,表格可以非常快速地填充。

答案 1 :(得分:-2)

尝试更改按钮以输入type = button value = submit从表单中删除role = form并删除$ bd - &gt;之间的空格EXEC