第18行的代码错误是由于将datetime转换为字符串而我在没有(字符串)的情况下尝试了它,并且虽然在其他页面上有效但仍有相同的问题
<?php
$con = mysqli_connect("localhost","workAcc","storm111274","work");
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
echo "Tell Bertie or who ever does IT";
}
$sqlSelect = "SELECT * FROM downstairs WHERE ID = ".htmlspecialchars($_GET["ID"]) .";";
$result = mysqli_query($con, $sqlSelect);
if (mysqli_num_rows($result) > 1){
echo "error too many rows this really really shouldn't happen";
}elseif(mysqli_num_rows($result) === 0){
echo "No record found";
}else{
while ($row = mysqli_fetch_assoc($result)) {
$sDate = date_create($row["StartTime"]);
$eDate = date_create($row["EndTime"]);
echo $row["ID"] . "_" . $row["Course"] . "_" . (string)date_format($sDate, "H:i") . "_" . (string)date_format($eDate, "H:i") . "_" . $eDate . "_" . $row["Room"] . "_" . $row["Instructor"];
}}
?>
答案 0 :(得分:0)
此连接字符串中有$eDate
:
echo $row["ID"] . "_" . $row["Course"] . "_" . (string)date_format($sDate, "H:i") . "_"
. (string)date_format($eDate, "H:i") . "_" . $eDate // <<<< Here
. "_" . $row["Room"] . "_" . $row["Instructor"];
$eDate
是DateTime
个对象。当您使用.
将其加入字符串时,PHP会尝试将其转换为字符串,当您收到错误时,您会看到该字符串。要解决此错误,请移除$eDate
或将其转换为包含date_format
的字符串。
我不确定你希望它看起来如何,所以我无法建议一种解决方法,但其他(string)
结果上的date_format
强制转换不是必要的。
答案 1 :(得分:0)
请改为尝试:
date_format($ sDate,“H:i”) - &gt;格式('H:i')