Нет вывода при использовании mysqli_stmt_bind_param

Я пытаюсь вставить данные в базу данных 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

>

А вот и мой 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);
?>

Я даже не получаю сообщение «Ошибка: …». Я также проверил изменения в своей базе данных, но безуспешно.
Кто-то может увидеть ошибку ??

0

Решение

Для процедурной версии mysqli_stmt_bind_paramпервый параметр должен быть оператором. Так говорит документация.

Эта функция также возвращает логическое значение, которое, вероятно, 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");
}
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]