Мне нужно выбрать строки из моей базы данных, используя несколько условий.PHP MySQL select with multiple conditions
Теперь я много раз искал, но не смог найти примеров, похожих на мои.
Пожалуйста, не рой меня, как акулы о SQL-инъекциях и т. Д., Так как я нахожусь на моей второй неделе обучения PHP, и то, что я делаю, будет использоваться только внутри.
Форма:
<form action="<?php echo $_server['php_self']; ?>" method="post">
Display results from <input name="from_date" class="src_drop" type="textarea" id="from_date">
to <input name="to_date" class="src_date" type="textarea" id="to_date">
for <select class="src_drop" name="uniqueid" type="text">
<?php
$sql = "select * from table_staff";
$staff = mysqli_query($connection, $sql);
while($stafflist = mysqli_fetch_array($staff))
{
echo '<option value="' . $stafflist['uniqueid'] . '">' . $stafflist['first_name'] . " " . $stafflist['surname'] . '</option>';
}
?>
</select>
<input type="submit" name="submit" class="search" value="">
</form>
Оператор SELECT:
$startDate = date("Y-m-d", strtotime($_POST['from_date']));
$endDate = date("Y-m-d", strtotime($_POST['to_date']));
$uniqueid = $_POST['uniqueid'];
$shiftdata = mysqli_query($connection, "SELECT * FROM table_shift
INNER JOIN table_staff ON table_shift.uniqueid = table_staff.uniqueid
WHERE shift_date BETWEEN '".$startDate."' AND '".$endDate."
AND table_shift.uniqueid='".$uniqueid."''
ORDER by shift_date ASC");
Я пытаюсь отобразить все изменения для конкретного сотрудника между определенными датами. Код отлично подходит для выбора сдвигов между датами, но разрывает соединение при добавлении select на uniqueid
. Я пробовал пару различных (догадок) вариантов синтаксиса, например. И WHERE table_shift.unqiueid
... без везения.
Ошибка:
У Вас есть ошибка в вашем SQL синтаксиса; проверьте руководство, которое соответствует версии сервера MySQL для правильного синтаксиса, чтобы использовать около «15» «ORDER по shift_date ASC» в строке 1
является уникальным числом идентификатора? – DevelopmentIsMyPassion
У вас есть сообщение об ошибке или ваша запись просто не выбрана? – MSadura
Добавьте 'или die (mysqli_error ($ connection)' после вашего оператора mysqli_query и проверьте его. – Rikesh