PHP + MYSQL 插入所有列为空

标签 php html mysql forms post

我在add.html中有一个表单,我试图在mysql表中添加一行,其中包含该表单的值,但添加的新行的所有列均为NULL,除了id(PK,AI)。我认为 $_POST 变量可能有任何问题......然后我检查了

if(isset($_POST['nome']))
    $nome=mysqli_real_escape_string($db,$_POST['nome']); 
else 
    $nome="nomevazio";  

然后,如果 $_POST['nome'] 为空,则 $nome 在表中将是“nomevazio”,但不是。它仍然插入一行,所有列均为空。

这是表单 html 代码:

          <form class="col s12" id="myForm" action="addparceiro.php" method="POST" >
            <div class="row">
              <div class="input-field col s6">
                <i class="mdi-action-account-circle prefix"></i>
                <input  id="name" type="text" class="validate" name="nome">
                <label for="name">Nome do Parceiro</label>
              </div>            
              <div class="input-field col s6">
                <i class="mdi-communication-email prefix"></i>
                <input id="email" type="email" class="validate" name="email">
                <label for="email">Email</label>
              </div>
            </div>
            <div class="row">
              <div class="input-field col s12">
                <i class="mdi-communication-location-on prefix"></i>
                <input id="address" type="text" class="validate" name="endereco">
                <label for="address">Endereço</label>
              </div>
            </div>
            <div class="row">
              <div class="input-field col s12">
                <i class="mdi-action-settings-phone prefix"></i>
                <input id="phone" type="number" class="validate" name="telefone">
                <label for="phone">Telefone</label>
              </div>
            </div>
            <div class="row">
              <div class="input-field col s12">
                <i class="mdi-action-restore prefix"></i>
                <input type="date" class="datepicker" name="data">
                <label for="date">Data de cadastro</label>
              </div>
            </div> 
            <div class="row">
              <div class="input-field col s12">
                <i class="mdi-action-lock prefix"></i>
                <input id="login" type="text" class="validate" name="login">
                <label for="login">Login</label>
              </div>
            </div>

            <div class="row">
              <div class="input-field col s12">
                <i class="mdi-communication-vpn-key prefix"></i>
                <input id="password" type="password" class="validate" name="senha">
                <label for="password">Senha</label>
              </div>
            </div>
            <div class="row">
              <div class="input-field col s12 center">
                <a onclick="Materialize.toast('CADASTRO REALIZADO COM SUCESSO', 4000)">
                  <button id="envia" class="btn waves-effect waves-light" type="submit" value="submit form" name="action">Enviar
                    <i class="mdi-content-send right"></i>
                  </button>
                </a>
              </div>
            </div>            
          </form>

这是 addparceiro.php 代码

<?php
include("config.php");
session_start();
// if(isset($_SESSION['login_user'])
//  {
if($_SERVER["REQUEST_METHOD"] == "POST")
{
// username and password sent from Form
if(isset($_POST['nome']))
    $nome=mysqli_real_escape_string($db,$_POST['nome']); 
else 
    $nome="nomevazio";  
$email=mysqli_real_escape_string($db,$_POST['email']); 
$endereco=mysqli_real_escape_string($db,$_POST['endereco']); 
$telefone=mysqli_real_escape_string($db,$_POST['telefone']); 
$data=mysqli_real_escape_string($db,$_POST['data']); 
$login=mysqli_real_escape_string($db,$_POST['login']); 
$senha=mysqli_real_escape_string($db,$_POST['senha']); 

$sql="INSERT INTO TB_ESTABELECIMENTOS (nome, endereco, email, telefone, data, login, senha) VALUES (nome='$nome', endereco='$endereco', email='$email', telefone='$telefone', data='$data', login='$login', senha='$senha')";
$result=mysqli_query($db,$sql);

if($result)
{

include("lista.html");
}
else 
{       
 echo
        '
            <script>
               alert(\'Não foi possível cadastrar este parceiro! Tente novamente mais tarde ou contate a equipe técnica!\');
            </script> 
        ';
    include("add.html");
}
}

?>

最佳答案

我认为你的 INSERT 语法有点不对劲。刚刚在我的服务器上尝试了相同的语法,所有内容都插入了 NULL。

更改为:

"INSERT INTO TB_ESTABELECIMENTOS 
(nome, endereco, email, telefone, data, login, senha) 
VALUES 
('$nome', '$endereco', '$email', '$telefone', '$data', '$login', '$senha');

在这里查看各种 INSERT 语法: http://www.w3schools.com/sql/sql_insert.asp

关于PHP + MYSQL 插入所有列为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29852490/

相关文章:

php - cURL 返回请启用 cookie?

PHP 在 session 变量中传递数组

html - 使用多个 span 的 CSS 打字动画

c# - MySQL:连接不同计算机上的多个数据库

javascript - 如何通过添加按钮动态添加选择框,然后通过php将值保存在mysql中

javascript - 如何在wordpress中为链接使用分层字体?

javascript - jQuery 在下拉菜单上显示 DIV - 在选择之前显示第一个 DIV

Javascript beforesend 函数在所有 "add to cart"按钮上错误显示

mysql - 如何使用多列和自动递增 ID 创建主键?

mysql - 获取sql中的特定字符串