我正在尝试将数据插入我的MySQL数据库。我得到的只是一个空页而没有错误。
我的index.php:
<?php include 'header.php';
include 'functions.php'?>
<body>
<form role="form" action="ins-user.php" method="post">
<div class="form-group">
<label for="mName">Username</label>
<input type="text" class="form-control" id="mName" placeholder="Enter username" style="width: 45%">
</div>
<div class="form-group">
<label for="mPass">Password</label>
<input type="password" class="form-control" id="mPass" placeholder="Password" style="width: 45%">
</div>
<div class="form-group">
<label for="eMail">E-Mail</label>
<input type="email" class="form-control" id="eMail" placeholder="Enter E-Mail" style="width: 45%">
</div>
<button type="submit" class="btn btn-default">Submit</button>
</form>
</body>
</html
&GT;
这是我的ins-user.php:
<?php
include 'header.php';
include 'functions.php';
$sql = "INSERT INTO my_db.test_table (mName,mPass,eMail) VALUES(?,?,?)";
$stmt = mysqli_prepare($con, $sql);
mysqli_stmt_bind_param('sss',
$_POST['mName'],
password_hash($_POST['mPass'), PASSWORD_DEFAULT),
$_POST['eMail']
);
if (!mysqli_stmt_execute($con,$stmt)) {
die('Error: ' . mysqli_error($con));
}
echo "User added!";
mysqli_close($con);
?>
我甚至没有得到&#34;错误:......&#34;我还检查了数据库中的更改,但没有成功。 有人能看出错误吗?
答案 0 :(得分:1)
对于mysqli_stmt_bind_param
的过程版本,第一个参数应该是语句。 Thus says the docs
该函数也返回一个布尔值,在你的情况下可能是false
。
if (!mysqli_stmt_bind_param(
$stmt,
'sss',
$_POST['mName'],
password_hash($_POST['mPass'), PASSWORD_DEFAULT),
$_POST['eMail']))
{
// If you get here, binding the parameter failed.
die("Binding failed");
}