【问题标题】:MySQL Database is not saving the data I insert but 0's [closed]MySQL 数据库没有保存我插入的数据,而是 0 [关闭]
【发布时间】:2020-09-14 18:46:43
【问题描述】:

我有一个预订表格,我成功地将我的数据库连接到我的网站。当我在 MYSQL 中访问我的数据库以查看我插入的数据时,所有字段都为零。我尝试更改数据库中数据字段的类型,但没有成功。

我的网站与MYSQL数据库的连接:

<?php 
$conexao=mysqli_connect("localhost", "root", "", "sitepap2");

?>

将表单中插入的数据发送到数据库并检查数据库中是否已有类似记录的代码:

    <?php

    include("conecta.php");

    $pnome=$_POST['pnome'];
    $numerotmv=$_POST['numerotmv'];
    $localsessao=$_POST['localsessao'];
    $data=$_POST['data'];
    $hora=$_POST['hora'];

    $pesquisaUsuario = mysqli_num_rows(mysqli_query($conexao,"
        SELECT nome FROM agendamento
        WHERE numerotmv = '$numerotmv'  
    "));


    if($pesquisaUsuario >0){
        echo 1;
    }else{
        mysqli_query($conexao, "
        insert into agendamento 
        (pnome, numerotmv, localsessao, data, hora)           
        values
        ('$pnome','$numerotmv', '$localsessao','$data','$hora')
        ");     
        echo 0;
    }



?>

显示表单的我的索引文件:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>PHP form</title>
</head>

<body>
    <div class="modal fade" id="calendario" role="dialog">
  <div class="modal-dialog">

    <!-- Modal content-->
    <div class="modal-content">
      <div class="modal-body">
        <!-- Registro --> 
        <form name="calendario" id="calendario" method="post" class="form-horizontal">
        <div>
            <button type="button" class="close" data-dismiss="modal">&times;</button>
            <h2 class="text-uppercase align-self-end text-center">Agendamento</h2>
            <hr class="divider">
        </div>      

        <div class="form-group">
            <label class="control-label col-xs-4">Primeiro Nome</label>
            <div class="col-xs-8">
                <input type="text" class="form-control" name="pnome" required="required">
            </div>          
        </div>
        <div class="form-group">
            <label class="control-label col-xs-4">Número de telemóvel</label>
            <div class="col-xs-8">
                <input type="text" class="form-control" name="numerotmv" required="required">
            </div>          
        </div>
        <div class="form-group">
            <label class="control-label col-xs-4">Local da Sessão</label>
            <div class="col-xs-8">
                <input type="text" class="form-control" name="localsessao" required="required">
            </div>          
        </div>
        <div class="row">
            <div class="col-md-6">
                <div class="form-group">
                    <input class="form-control" name="data" type="date" required>
                    <span class="form-label">Data</span>
                </div>
            </div>
            <div class="col-md-6">
                <div class="form-group">
                    <input class="form-control" name="hora" type="time" required>
                    <span class="form-label">Hora</span>
                </div>
            </div>
            </div>  
            <div class="form-group">
                <div class="col-xs-8 col-xs-offset-4">
                    <button type="submit" onClick="verificarAgendamento()" class="btn btn-primary btn-lg">Agendar</button>
                </div>  
            </div>            
    </form>
            </div>
    </div>

  </div>
</div>

    <script>
        function verificarAgendamento(){
        event.preventDefault(); 
        $.ajax({
            type: "POST",
            url: "agendamento.php",
            data: $("#calendario").serialize(),
            success: function(resultado){

                if(resultado==0){

                        alert("Booking made with success");

                   }else{
                       alert("error");

                   }
                return false;
            }

        });
            $('#calendario')[0].reset();
            return false;

        }   
        </script>



</body>
</html>

我的数据库结构: database

当我尝试通过我的 PHP 表单在数据库中插入数据时会发生什么: problem

感谢所有花时间阅读这篇文章以帮助我的人。我很感激。

【问题讨论】:

  • 如果用户 B 插入而用户 A 正在“检查”怎么办?
  • 另外,请参阅关于 sql 注入,以及准备好的和绑定的查询的重要性

标签: php mysql database forms types


【解决方案1】:

您有两个名为 calendario 的 id。表单和 div。所以你的 ajax 请求是序列化 div,而不是表单。

将其中一个 id 更改为唯一值,它将起作用,例如:

注意:如果您更改表单的 id,您还需要在 ajax 调用中更改它

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>PHP form</title>
</head>

<body>
    <div class="modal fade" id="calendario" role="dialog">
  <div class="modal-dialog">

    <!-- Modal content-->
    <div class="modal-content">
      <div class="modal-body">
        <!-- Registro --> 
        <form name="calendario" id="calendario-form" method="post" class="form-horizontal">
        <div>
            <button type="button" class="close" data-dismiss="modal">&times;</button>
            <h2 class="text-uppercase align-self-end text-center">Agendamento</h2>
            <hr class="divider">
        </div>      

        <div class="form-group">
            <label class="control-label col-xs-4">Primeiro Nome</label>
            <div class="col-xs-8">
                <input type="text" class="form-control" name="pnome" required="required">
            </div>          
        </div>
        <div class="form-group">
            <label class="control-label col-xs-4">Número de telemóvel</label>
            <div class="col-xs-8">
                <input type="text" class="form-control" name="numerotmv" required="required">
            </div>          
        </div>
        <div class="form-group">
            <label class="control-label col-xs-4">Local da Sessão</label>
            <div class="col-xs-8">
                <input type="text" class="form-control" name="localsessao" required="required">
            </div>          
        </div>
        <div class="row">
            <div class="col-md-6">
                <div class="form-group">
                    <input class="form-control" name="data" type="date" required>
                    <span class="form-label">Data</span>
                </div>
            </div>
            <div class="col-md-6">
                <div class="form-group">
                    <input class="form-control" name="hora" type="time" required>
                    <span class="form-label">Hora</span>
                </div>
            </div>
            </div>  
            <div class="form-group">
                <div class="col-xs-8 col-xs-offset-4">
                    <button type="submit" onClick="verificarAgendamento()" class="btn btn-primary btn-lg">Agendar</button>
                </div>  
            </div>            
    </form>
            </div>
    </div>

  </div>
</div>

    <script>
        function verificarAgendamento(){
        event.preventDefault(); 
        $.ajax({
            type: "POST",
            url: "agendamento.php",
            data: $("#calendario-form").serialize(),
            success: function(resultado){

                if(resultado==0){

                        alert("Booking made with success");

                   }else{
                       alert("error");

                   }
                return false;
            }

        });
            $('#calendario')[0].reset();
            return false;

        }   
        </script>



</body>
</html>

【讨论】:

    猜你喜欢
    • 2014-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-28
    • 1970-01-01
    相关资源
    最近更新 更多