我是新来的,我学习PHP和SQL连接。我想从SQL数据库中列出未预订的房间号。我创建了两张桌子(房间和预订),填充了一些示例。
第一步
如果我把直接日期作为“预订结束”的日期(“2019-03-11”),然后列出房间号就行了。
function reserv3()
{
include "config.php";
$html = "";
$sql = 'SELECT roomnr , reserv_start FROM rooms LEFT OUTER JOIN reservation ON reservation.room_id = rooms.room_id AND DATE(reservation.reserv_start) >= DATE("2019-03-11")';
$result = mysqli_query($conn, $sql);
while( $sor = mysqli_fetch_array($result) )
$html .= "<DIV>".$sor['roomnr'].", ".$sor['reserv_start']."</DIV>";
return $html;
}第二步
我想将固定日期(“2019-03-11”)替换为变量。
$today = DATE("2019-03-11");
function reserv3($today)
{
include "config.php";
$html = "";
$sql = 'SELECT roomnr , reserv_start FROM rooms LEFT OUTER JOIN reservation ON reservation.room_id = rooms.room_id AND DATE(reservation.reserv_start) >= '.$today;
$result = mysqli_query($conn, $sql);
while( $sor = mysqli_fetch_array($result) )
$html .= "<DIV>".$sor['roomnr'].", ".$sor['reserv_start']."</DIV>";
return $html;
}在第2步中,传入了致命错误Fatal error: Uncaught :函数reserv3()的参数太少,0
你能告诉我如何把变量放到这个命令中吗?谢谢
发布于 2019-02-02 19:46:03
您的代码中存在错误。PHP date()生成日期。如果您想要当前日期,请将日期写入日期('Y-m-d'),将日期和时间写入日期('Y-m-d H: i: s)‘。在mysql中,如果字段是日期类型,则不必使用mysql date()函数进行比较。只有当它是datetime类型时,才使用date()函数来提取日期。
<?php
include "config.php";
$today = DATE('Y-m-d');
function reserv3($today)
{
global $conn;
$sql = 'SELECT t1.roomnr , t2.reserv_end FROM reservation as t2 LEFT JOIN rooms as t1 ON t2.room_id =
t1.room_id where t2.reserv_end <= '.$today;
$result = mysqli_query($conn, $sql);
if(mysqli_num_rows($result)>0){
// do something
}
}https://stackoverflow.com/questions/54491892
复制相似问题