我正在学习关于SQL的教程并学习如何通过PHP进行更新,一切似乎都很好/但是当我尝试“添加客户”时,在这种情况下,数据更新到带有ID的表,但我输入的客户信息是空白的。
就好像数据正在注册新插入但不接受正在输入表单的任何数据。 (希望这是有道理的。)
以下是我的“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字符串并且没有我的连接变量。*
答案 0 :(得分:0)
您可以使用:
mysqli_query($db, ...) or die(mysqli_error($db));
而不仅仅是
//Run query
$mysqli->query($query);
在您的查询中以确定您正在获得哪种错误。它应该在您提交表单后显示。