Какие данные хранятся внутри моей POST формы ввода SELECT - PullRequest
0 голосов
/ 31 марта 2019

Проблема

У меня есть форма с выпадающим списком, и мне нужно POSTDATA из нее, чтобы поместить в запрос MySQL, но я не могу преобразовать в datetime.

То, что я пытался

1-я вещь, которую я попробовал: все значения в являются датой и временем из таблицы сервера.Затем пользователь выбирает время, а затем оно сохраняется в переменной с помощью POST.Затем я пытаюсь преобразовать значение внутри переменной обратно во время, которое можно использовать внутри запроса.Но это приводит к следующей ошибке: Предупреждение: mysql_query () ожидает, что параметр 2 является ресурсом, значение NULL указано в reserveren.php в строке 57

2-я вещь, которую я пробовал: Непосредственное использование POST внутри запроса, но это даетследующая ошибка: Предупреждение: mysql_query () ожидает, что параметр 2 является ресурсом, значение NULL, указанное в reserveren.php в строке 57

3-еИсправляемая фатальная ошибка: объект класса DateTime не может быть преобразован в строку в reserveren.php в строке 60

Используемый код

Код для первой попытки выглядит следующим образом:

$Tijd = date_create();
$Tijd->format(\DateTime::ISO8601);

$result = mysql_query ("SELECT Voorstellingsnummer FROM voorstelling v WHERE Tijd = '$Tijd' AND v.Voorstellingsnummer NOT IN(SELECT r.Voorstellingsnummer FROM reserveringen r WHERE r.Voorstellingsnummer = v.Voorstellingsnummer GROUP BY r.Voorstellingsnummer HAVING COUNT(*) >= 50) AND Vestigingsnaam = '" . $_SESSION["geselecteerdvestiging"] . "' AND Filmnaam = '" . $_SESSION["geselecteerdfilmnaam"] . "';", $db);

Код для 2-й попытки выглядит следующим образом:

$result = mysql_query ("SELECT Voorstellingsnummer FROM voorstelling v WHERE Tijd = '" . $_POST["Tijd"] . "' AND v.Voorstellingsnummer NOT IN(SELECT r.Voorstellingsnummer FROM reserveringen r WHERE r.Voorstellingsnummer = v.Voorstellingsnummer GROUP BY r.Voorstellingsnummer HAVING COUNT(*) >= 50) AND Vestigingsnaam = '" . $_SESSION["geselecteerdvestiging"] . "' AND Filmnaam = '" . $_SESSION["geselecteerdfilmnaam"] . "';", $db);

Код для 3-й попытки выглядит следующим образом:

$time = $_POST["Tijd"];
$Tijd = new DateTime("$time"); 

$result = mysql_query ("SELECT Voorstellingsnummer FROM voorstelling v WHERE Tijd = '$Tijd' AND v.Voorstellingsnummer NOT IN(SELECT r.Voorstellingsnummer FROM reserveringen r WHERE r.Voorstellingsnummer = v.Voorstellingsnummer GROUP BY r.Voorstellingsnummer HAVING COUNT(*) >= 50) AND Vestigingsnaam = '" . $_SESSION["geselecteerdvestiging"] . "' AND Filmnaam = '" . $_SESSION["geselecteerdfilmnaam"] . "';", $db);

Это код формы:

$resultaat = mysql_query ("SELECT Tijd FROM voorstelling v WHERE v.Voorstellingsnummer NOT IN(SELECT r.Voorstellingsnummer FROM reserveringen r WHERE r.Voorstellingsnummer = v.Voorstellingsnummer GROUP BY r.Voorstellingsnummer HAVING COUNT(*) >= 50) AND Vestigingsnaam = '" . $_SESSION["geselecteerdvestiging"] . "' AND Filmnaam = '" . $_SESSION["geselecteerdfilmnaam"] . "';", $db);

$_SESSION["Tijd"] = $resultaat; //the selected Tijd records in this query are in datetime format on the server.

echo "<form action='reserveren.php' method='post'>
    <H3>Kies een Tijd</H3><br>
    <select name='Tijd'> ";
while ($row = mysql_fetch_array($_SESSION["Tijd"])) {
    echo "<option value='" . $row['Tijd'] ."'>" . $row['Tijd'] ."</option>";
}
echo "</select>
    <input type='submit' name='Reserveer' value='Reserveren'>
    </form>";

В настоящее время я получаю только ошибки, но я хочу, чтобы переменная $ Tijd была успешно использована в моем запросе mysql.Так, какие данные я получаю от выбора, и я преобразовываю это в пригодную для использования дату и время?

1 Ответ

0 голосов
/ 31 марта 2019

Проблема вроде как исправлена ​​прямо сейчас из-за @Nick.Использование кода со второй попытки перестает давать мне ошибки.Я поставил запрос перед моим подключением к базе данных, что было ошибкой.

Это все еще не исправило мой код, но теперь я, по крайней мере, знаю, как пройти дальше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...