Вам нужно закрыть операторы MySQLi?Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Вам нужно закрыть операторы MySQLi?

Сообщение Anonymous »

Я пытаюсь посчитать, есть ли регистрация с тем же номером телефона и датой. Это сделано для того, чтобы люди не могли зарегистрировать два бронирования в одну и ту же дату (время). Моя проблема в том, что я ожидаю, что запрос вернет 0, поскольку в базе данных нет регистрации с такими же данными. Однако результат равен 1. Это указывает на то, что в базе данных уже есть что-то с такой же информацией, но ее нет. Я предполагаю, что это связано с запросом, который я выполняю перед текущим запросом. Мне интересно, стоит ли мне попытаться закрыть оператор.
Я пытался закрыть оператор $stmt->close(), но безрезультатно. Я попытался создать новые переменные вместо повторного использования переменных из предыдущего запроса, но это тоже не сработало. Я трижды проверил базу данных, чтобы убедиться, что там нет регистрации с такими же данными, и на 100% уверен, что в базе данных все в порядке.
Вот мой код. Я думаю, проблема кроется в первой части запроса.

Код: Выделить всё

$query = "SELECT count(*) as reservation_amount FROM reservation WHERE `date`= ?";
$stmt = $db->prepare($query);
$stmt->bind_param("s", $datetime);
$stmt->execute();
$stmt->bind_result($count);
while($row = $stmt->fetch()){
$res_count = $row; //res_count is 1 in this case. I'm thinking I need to close something here?
}

$query = "SELECT count(*) as registered FROM reservation WHERE `number` = ? and `date`= ?";
$stmt = $db->prepare($query);
$stmt->bind_param("is", $number, $datetime);
$stmt->execute();
$stmt->bind_result($count);
while($row = $stmt->fetch()){
$registered = $row; //outputs 1 but I'm expecting 0
}
Ввод:

Код: Выделить всё

datetime = 2014-12-28 17:00:00
number = 0612345678
База данных содержит следующую запись:

Код: Выделить всё

id  name    surname number  email           date                amount
5   Henk    Houtman 9060666 henk@houtman.nl 2014-12-28 17:00:00 1
У меня нет ошибок.

Подробнее здесь: https://stackoverflow.com/questions/276 ... statements
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»