PHP $ _POST不会通过html表单保存在mysql上

时间:2014-11-21 02:52:24

标签: php html mysql

我试图在mysql上保存一些数据,但它并没有保存。

注意:mysql数据库在直接控制台代码下工作正常。

继承我的HTML代码:

<form method="post" action="prueba1.php" >
    Nombre: <input type="text" name="nombre" id="nombre" /></br>
    Email: <input type="text" name="email" id="email" /></br>
    Comentarios: <input type="text" name="comentarios" id="comentarios" / ></br>
    <input type="submit" name="submit" value="Registrar" />
    </form>

继承我的PHP代码:

if(!empty($_POST))
    {
        try
            {
                $nombre = $_POST ['nombre'];
                $email = $_POST ['correo'];
                $comentarios = $_POST ['comentarios'];
                $sql_insert = "
                INSERT INTO usuario (nombre, correo, comentarios)
                VALUES (?,?,?) ";
                $stmt = $con->prepare($sql_insert);
                $stmt->bindValue(1, $nombre);
                $stmt->bindValue(2, $email);
                $stmt->bindValue(3, $comentarios);
                $stmt->execute();
                echo "<h3>Tu comentario se a registrado con éxito</h3>";
                            }
        catch (Exception $e)
        {
                echo "<h3>No se pudo registrar tu comentario</h3>";
                die(var_dump($e));
        }

注意:当我按下按钮时,值为&#34;注册器&#34;告诉我它拯救已成功。但是数据库中不存在。

任何帮助将不胜感激。

最好的问候。

2 个答案:

答案 0 :(得分:1)

澄清,这是否是正确的使用方式

 $stmt->bindValue(1, $nombre);
 $stmt->bindValue(2, $email);
 $stmt->bindValue(3, $comentarios);

因为我只使用了bind_param

$stmt->bind_param('is',$value1,$value2); // where i is integer and s is string

尝试使用

 $stmt->bind_param('sss',$nombre,$email,$comentarios); // hope all three are strings

检查数据库中的条目,对不起,如果我错了......

答案 1 :(得分:0)

我认为您的插入查询错误

INSERT INTO usuario (nombre, correo, comentarios) VALUES (?,?,?) ";

你的价值观包含&#39;?&#39;,我认为应该是这样的

 INSERT INTO usuario (nombre, correo, comentarios) VALUES ('$nombre','$correo','$comentarios') ";