php - 什么数据存储在我的 POST 表单中的 SELECT 输入
问题描述
问题
我有一个带有下拉列表的表单,我需要将其中的 POSTDATA 放入 mysql 查询中,但我无法转换为日期时间。
我尝试过的事情
我尝试的第一件事: 中的值都是来自服务器表的日期时间。然后用户选择一个时间,然后使用 POST 将该时间保存在一个变量中。然后我尝试将变量内的值转换回查询中可用的时间。但这会产生以下错误:警告:mysql_query() 期望参数 2 是资源,在第 57 行的 reserveren.php 中给出 null
我尝试的第二件事:直接在查询中使用 POST 但这会产生以下错误:警告:mysql_query() 期望参数 2 是资源,在第 57 行的 reserveren.php 中给出 null
我尝试的第三件事:仍在转换值,但使用不同的方法并给出此错误:可捕获的致命错误:第 60 行的 Reserveren.php 中的类 DateTime 的对象无法转换为字符串
使用的代码
第一次尝试的代码如下所示:
$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);
第二次尝试的代码如下所示:
$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);
第三次尝试的代码如下所示:
$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>";
目前我只收到错误,但我想要的是在我的 mysql 查询中成功使用 $Tijd 变量。那么我从选择中得到什么样的数据并将其转换为可用的日期时间?
解决方案
由于@Nick,问题现在已经解决了。使用第二次尝试的代码它停止给我错误。我把查询放在我的数据库连接前面,这是错误的。
这仍然没有修复我的代码,但现在我至少知道如何更进一步。
推荐阅读
- python - 如何设置具有一类的 pipeline.config 文件以在 mobilenet v3 large 上进行训练?以及如何设置微调检查点?
- angular - 可选的异步管道或默认
- serial-port - Linux 的串口复用器
- python - 使用 Tkinter 将文本左对齐
- firebase - 颤振:“字符串”类型不是“列表”类型的子类型
' - python - 如何编辑查询数据库并返回数据的django DRF API代码,以读取文件并上传数据
- iphone - 仅在 ionic3 的 iphone x 设备中未正确设置启动文本?
- angular - 从 Ionic 4 中的 jpg 图像中获取 EXIF 数据
- sql-server - 将完整的 JSON 写入 SQL Server 中的文件系统
- python - 熊猫:使用多个条件将值替换为另一个数据框的值