当我调用另一个php时,无法在mysql表中插入

时间:2017-08-13 09:38:32

标签: php mysqli

当我按下crudindex.php中的注册按钮时它会将数据插入到cruduser(表格)中 完成后调用crudadd.php并将数据插入到crud(table)中,其中max(id)来自cruduser表作为id。

问题是:一旦按下REGISTER按钮,Cruduser(表格)就会正确插入。 但在crud(表)中,它只插入id,其他字段为空。 我怀疑帖子没有选择值或插入命令一些问题。

但是当我给出静态值ex:firstname为'Tim',lastname为'cook'等,它将在表格中插入crud。

另外,当我单独运行crudadd.php时,它会正确插入。

结构:

cruduser(
  id(int),
  username(varchar),
  password(varchar)
)

crud(
  id(int),
  firstname(varchar),
  lastname(varchar),
  email(varchar),
  gender(varchar),
  age(varchar)
)

用过:表:cruduser和crud php:crudindex.php和crudadd.php

核心问题:数据没有正确插入到crud表中

Crudindex.php

<?php
$con = mysqli_connect("127.0.0.1", "kkits996_ganesh", "mysql123#", "kkits996_testmysql")  or die("Error " . mysqli_error($con));
if (isset($_POST) && (!empty($_POST))){
 $uname=mysqli_real_escape_string($con,$_POST["uname"]);
 $pwd=mysqli_real_escape_string($con,$_POST["pwd"]);
 $cpwd=mysqli_real_escape_string($con,$_POST["cpwd"]);
if (isset($_POST['register'])) {
        # Register-button was clicked
$createsql1="INSERT INTO cruduser(id,username,password) VALUES
                             ('','$uname','$pwd')";

if (mysqli_query($con,$createsql1)) {
echo "Insert Successful in Table cruduser";
mysqli_close($con);
include ("crudadd.php");
}
else
{
die(mysqli_error($con));
}
}
mysqli_close($con);
}
?>
<!--DocType HTML -->
<! bootstrap link is downloaded from bootstrapcdn.com for css and js -->
<! col-mod-6 col-mod-offset are bootstrap related-->
<HTML>
<head>
<title>"Add records in CRUD Table"</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body>
<div class="container"> 
<div class="row">
<form method="post" class="form-horizontal col-mod-6 col-mod-offset-3">
<h2>Create The table CRUD</h2>
<div class="form-group">
<label for="input" class="col-sm-2 control-label">Firstname</label>
<div class="col-sm-10">
<input type="text" name="uname" class="form-control" id="input1" placeholder="Username"/>
</div>
</div>
<div class="form-group">
<label for="input" class="col-sm-2 control-label">Lastname</label>
<div class="col-sm-10">
<input type="text" name="pwd" class="form-control" id="input1" placeholder="Password"/>
</div>
</div>
<div class="form-group">
<label for="input" class="col-sm-2 control-label">Email</label>
<div class="col-sm-10">
<input type="text" name="cpwd" class="form-control" id="input1" placeholder="Confirm Password"/>
</div>
</div>
<div class="row">

                <div class="col-mod-6 col-mod-offset-3">
                   <button id="submit1" name="register" class="btn btn-primary pull-right">Register</button>
                  <button id="submit2" name="login" class="btn btn-secondary pull-right">Login</button>
                </div>
            </div>
</form>
</body>
</html>

Crudadd.php

<?php
//session_start();
//$maxiid = $_SESSION['id'];
//echo $maxiid;

$con = mysqli_connect("127.0.0.1", "kkits996_ganesh", "mysql123#", "kkits996_testmysql")  or die("Error " . mysqli_error($con));
$result = mysqli_query($con,"SELECT * FROM cruduser WHERE id=(SELECT MAX(id) FROM cruduser)");
$row1 = mysqli_fetch_array($result);
$c1 = $row1['id'];
mysqli_close($con);

$con = mysqli_connect("127.0.0.1", "kkits996_ganesh", "mysql123#", "kkits996_testmysql")  or die("Error " . mysqli_error($con));
if (isset($_POST) && (!empty($_POST))){
 $fname=mysqli_real_escape_string($con,$_POST["fname"]);
 $lname=mysqli_real_escape_string($con,$_POST["lname"]);
 $email=mysqli_real_escape_string($con,$_POST["email"]);
 $gender=$_POST["gender"];
 $age=$_POST["age"];

print "I am here";
echo $finame;
echo $liname;
print email;
//Notes : In Insert if numeric do not use quotes. if string use quotes.for auto use ''
$createsql="INSERT INTO crud(id,firstname,lastname,email,gender,age) VALUES
                         ($c1,'$fname','$lname','$email','$gender','$age')";

if (mysqli_query($con,$createsql)) {
echo "Connection Successful";
}
else
{
echo "Connection Issue";
die(mysqli_error($con));
}
mysqli_close($con);
}
?>
<!--DocType HTML -->
<! bootstrap link is downloaded from bootstrapcdn.com for css and js -->
<! col-mod-6 col-mod-offset are bootstrap related-->
<HTML>
<head>
<title>"Add records in CRUD Table"</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body>
<div class="container"> 
<div class="row">
<form method="post" class="form-horizontal col-mod-6 col-mod-offset-3">
<h2>Create The table CRUD</h2>
<div class="form-group">
<label for="input" class="col-sm-2 control-label">Firstname</label>
<div class="col-sm-10">
<input type="text" name="finame" class="form-control" id="input1" placeholder="First name"/>
</div>
</div>
<div class="form-group">
<label for="input" class="col-sm-2 control-label">Lastname</label>
<div class="col-sm-10">
<input type="text" name="liname" class="form-control" id="input1" placeholder="Last name"/>
</div>
</div>
<div class="form-group">
<label for="input" class="col-sm-2 control-label">Email</label>
<div class="col-sm-10">
<input type="text" name="eimail" class="form-control" id="input1" placeholder="Email"/>
</div>
</div>
<div class="form-group">
<label for="input" class="col-sm-2 control-label">Gender</label>
<div class="col-sm-10">
<label>
<input type="radio" name="giender" id="optionsRadios1" value="male" checked> Male
</label>
<label>
<input type="radio" name="giender" id="optionsRadios1" value="female" > Female
</label>
</div>
</div>

<div class="form-group">
<label for="input" class="col-sm-2 control-label">Age</label>
<div class="col-sm-10">
<select name="aige" class="form-control">
<option>Select your age</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
</select>
</div>
</div>
<input type="submit" class="btn btn=primary col-md-2 col-md-offset-10" value="submit"/>
</form>
</body>
</html>

2 个答案:

答案 0 :(得分:0)

如果Id为AUTO INCREMENT。 你必须使用

$createsql1="INSERT INTO cruduser(id,username,password) VALUES
                             (NULL,'$uname','$pwd')";

not((你不能为id值设置字符串。你的id是int类型))

$createsql1="INSERT INTO cruduser(id,username,password) VALUES
                             ('','$uname','$pwd')";

答案 1 :(得分:0)

点击&#39;注册&#39;您正在发送unamepwdcpwd in POST请求,这些请求已正确用于插入cruduser。之后你将包括crudadd.php(include ("crudadd.php");)。但请记住,你仍然有同样的要求。因此,唯一可用的数据是unamepwdcpwd。这就是你的行是半空的原因。