Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
调用其他php时无法在mysql表中插入_Php_Mysqli - Fatal编程技术网

调用其他php时无法在mysql表中插入

调用其他php时无法在mysql表中插入,php,mysqli,Php,Mysqli,当我按下crudindex.php中的register按钮时,它会将数据插入到cruduser(表)中 一旦完成,调用crudad.php并将数据插入crud(表),其中max(id)作为id来自cruduser表 问题是:一旦我按下寄存器按钮,Cruduser(表)就会正确插入。 但在crud(表)中,它只插入id,其他字段为空。 我怀疑这篇文章没有选择值或插入一些问题 但当我给出静态值时,例如:firstname作为'Tim',lastname作为'cook'等等,它将插入表crud中 另外

当我按下crudindex.php中的register按钮时,它会将数据插入到cruduser(表)中 一旦完成,调用crudad.php并将数据插入crud(表),其中max(id)作为id来自cruduser表

问题是:一旦我按下寄存器按钮,Cruduser(表)就会正确插入。 但在crud(表)中,它只插入id,其他字段为空。 我怀疑这篇文章没有选择值或插入一些问题

但当我给出静态值时,例如:firstname作为'Tim',lastname作为'cook'等等,它将插入表crud中

另外,当我单独运行crudad.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和crudad.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>
核心问题:数据未正确插入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>
如果Id是自动递增的。
你必须使用

$createsql1="INSERT INTO cruduser(id,username,password) VALUES
                             (NULL,'$uname','$pwd')";
not((您不能为id值设置字符串。您的id为int类型))


单击“注册”时,您正在发送POST请求中的
uname
pwd
cpwd
,这些请求被正确地用于插入
cruduser
。之后,您将包括crudad.php(
include(“crudad.php”);
)。但请记住,你仍然在接受同样的要求。因此,唯一可用的数据是
uname
pwd
cpwd
。这就是为什么您的行是半空的。

某些合理的缩进可能是有序的。奇怪的是,您的标签和输入不相等!!!是的,我明白你的意思。对于已更改了某些名称的测试,即使您保留了正确的名称。同样的问题。如何解决。如何在crudadd.php中获取post数据并插入表crud。调整您的第一个表单,使其具有所有必需的字段,或者分两步解决注册问题(例如,不包括cruddd.php,而是重定向到它)良好的重定向效果。还有一个小小的基本疑问。在crudad.php中。我已打开连接并关闭两次,即select为1,insert语句为第二次。打开和关闭连接需要两次,还是只需要一次,我将打开连接并运行选择和插入,最后关闭连接。不需要(也不建议)为每个查询打开连接。事实上,您还可以删除
mysqli\u close
调用,因为它将在脚本结束时自动关闭(但不建议这样做)。
$createsql1="INSERT INTO cruduser(id,username,password) VALUES
                             ('','$uname','$pwd')";