Эта тема на forum.dklab.ru


oberon: Проблемы с функцией mysqli_bind_param()
Получаю ошибку Warning: mysqli_bind_param() expects parameter 1 to be mysqli_stmt, boolean given in Z:\home\test1.ru\www\reg.php on line 44

Текст кода:
$UserName = $_REQUEST["UserName"];
$Password1 = $_REQUEST["Password1"];
$Password2 = $_REQUEST["Password2"];
$EMail = $_REQUEST["EMail"];
$Sex = $_REQUEST["Sex"];
$Day = $_REQUEST["Day"];
$Month = $_REQUEST["Month"];
$Year = $_REQUEST["Year"];
$Birthday = "$Day"."."."$Month"."."."$Year";
$Timestamp = strtotime($Birthday);

$connect = mysqli_connect("localhost","root");
if( mysqli_connect_errno() )
die("No connect: " . mysqli_connect_error());
if( !mysqli_select_db($connect,"bs_prs"))
die("No database: " . mysqli_error());
$prepared_query = "insert into Member(user_name,password,email,sex,birthday) values(?,?,?,?,?)";
$stmt = mysqli_prepare($connect, $prepared_query); //---------------------------------------------------------
mysqli_bind_param($stmt, "sssid",$UserName,$Password1,$EMail,$Sex,$Timestamp);
mysqli_stmt_execute($stmt);
mysqli_stmt_close($stmt);

Не могу придумать, что может случиться? 44 строку пометил для вас кучей тире //--------------------------
Именно тут происходит ошибка.
Еще один вопрос - как вызывать эту же функцию, если в параметризуемой команде НЕТ параметров? Например, SELECT * FROM member.

С уважением, Сергей
oberon:
Народ! Получилось!
Учитывая, что бился я долго... Хочу просто обозначить ошибку, чтобы другим было проще найти.
В вызове функции было все верно. Но при параметризации вызова функция, очевидно, делает проверки на корректность самого вызова.
Моя ошибка была в том, что я ошибся в одной букве в названии колонки таблицы базы. Хотя функция prepare() не выдала никакой ошибки,
эта ошибка вылезла при попытке посадить параметры в вызов.
Отловить ошибку во время выполнения никакой возможности, так никакие состояния ошибки в данный момент не садятся, кроме той, что была означена выше.
oberon:
ТЕМУ МОЖНО ЗАКРЫТЬ

Эта тема на forum.dklab.ru