2017-02-21 97 views
0

我正在学习关于SQL的教程,并学习如何通过PHP进行更新,一切似乎都很顺利,但是当我尝试“添加一个客户”时,在这种情况下,数据更新到带有ID的表格,但我输入的客户信息是空白的。插入不工作PHP

这就好像数据正在注册新插入但不接受任何正在输入表单的数据。 (希望这是有道理的。)

下面是我的“add_customer”页面中POST的代码。

<?php 
if($_POST){ 
//Get Variables from post array 
$first_name = mysqli_real_escape_string($_POST['first_name']); 
$last_name = mysqli_real_escape_string($_POST['last_name']); 
$email = mysqli_real_escape_string($_POST['email']); 
$password = mysqli_real_escape_string(md5($_POST['password'])); 
$address = mysqli_real_escape_string($_POST['address']); 
$address2 = mysqli_real_escape_string($_POST['address2']); 
$city = mysqli_real_escape_string($_POST['city']); 
$state = mysqli_real_escape_string($_POST['state']); 
$zipcode = mysqli_real_escape_string($_POST['zipcode']); 

//Create Customer query 

    $query ="INSERT INTO customers (first_name,last_name,email,password) 
         VALUES ('$first_name','$last_name','$email','$password')"; 

//Run query 
    $mysqli->query($query); 

//Create address query 

    $query ="INSERT INTO customer_addresses (customer,address,address2,city,state,zipcode) 
     VALUES ('$mysqli->insert_id','$address','$address2','$city','$state','$zipcode')"; 

//Run query 
    $mysqli->query($query); 

    $msg='Customer Added'; 
    header('Location: index.php?msg='.urlencode($msg).''); 
    exit; 
} 

?> 

我没有要发布的所有代码的形式,大部分是同减的类型和占位符,但表单代码的要点如下

<form role="form" method="post" action="add_customer.php"> 
      <div class="form-group"> 
      <label>First Name</label> 
      <input name="first_name" type="text" class="form-control" placeholder="Enter First Name"> 
      </div> 

不幸的是,我无法添加添加页面的图像(尚未有足够的代表),但页面会出现一个新的行,全部空白,但在最后显示编辑按钮。因此,数据库中的某些内容足以为输入的数据创建一个新的ID,但数据本身并未存储到数据库中。

所有帮助表示赞赏!请让我知道是否需要任何额外的信息来帮助解决这个问题。

此问题已解决。我被误解了的mysqli字符串,没有我的连接变量*

+2

建议...教程,并找到一个教你关于准备好的语句与绑定变量 –

+1

你甚至连接?你的代码在这里失败了。 –

+0

是的代码是全部连接,就像我说我正在看到某些数据进入数据库作为一个新的ID正在创建,但没有任何表单数据被发布到数据库。 – Leo

回答

0

可以使用。而不是

mysqli_query($db, ...) or die(mysqli_error($db)); 

只是

//Run query 
    $mysqli->query($query); 
在查询

找出哪一种你得到的错误。它应该在您提交表单后显示。

+0

完美。看到错误帮助。这让我看到我得到的错误确实曾经被问到过(因为fred标记了它),所以我能够发现我作为msyqli_real_escape需要2个参数,这是我的连接变量。一旦添加数据即将通过!我只需要纠正编辑,并确保所有正确的mysqli变量现在被调用,但我认为这是设置,谢谢大家的帮助! – Leo