gpt4 book ai didi

php 文件不回显远程服务器上 mysql 表的查询,但适用于本地 XAMMP mariaDB

转载 作者:行者123 更新时间:2023-11-29 16:01:41 24 4
gpt4 key购买 nike

摘要:

  • 我是后端开发新手。
  • 对于我的网站,用户输入城市位置和日期,然后点击提交按钮以选择要执行的事件。
  • 城市 GPS 坐标由 geobytes.com JSON-P API 提供
  • 日期由 jQuery datepicker 提供
  • 在外部 JavaScript 文件中提取坐标和日期,然后传递到 PHP 文件 (AJAX) 以查询多个表,然后将结果回显到网页。
  • 在我使用 XAMMP 的本地计算机上,一切正常。
  • 在我的学生网络空间上,对同时使用 GPS 和日期的表格进行的查询不会回显

背景:

  • 除了连接之外,两台服务器上的 PHP 代码相同
  • 位置表查询有效
  • 日期表查询有效
  • 一个表的字段包含 GPS 和日期。此查询不会从学校服务器回显。
  • 本地计算机是 MariaDB 10.1.38//Windows 10 上的 XAMMP v3.2.3)
  • 学校mysql服务器版本是5.5.54(在unix上)
  • PHP 版本 7.3.3
// PHP code
// AJAX VALUES PASSED FROM JAVASCRIPT FILE`
$s = $_GET['s'];
$q = floatval($_GET['q']);
$r = floatval($_GET['r']);

// FOR MYSQL
$sqlStarParty = "SELECT sp_name, sp_location, sp_date_start, sp_nights, sp_link, sp_comment
FROM star_party
WHERE
sp_date_start <= DATE_ADD(STR_TO_DATE('$s', '%Y-%m-%d'), INTERVAL 14 DAY)
AND
sp_date_start >= DATE_SUB(STR_TO_DATE('$s', '%Y-%m-%d'), INTERVAL 14 DAY)
AND
sp_latitude < ($q + 2) AND sp_latitude > ($q - 2)
AND
sp_longitude < ($r + 2) AND sp_longitude > ($r - 2)";


// TO BE ECHOED TO WEBPAGE
$resultStarParty = mysqli_query($conn, $sqlStarParty);

if (mysqli_num_rows($resultStarParty) > 0) {

while($row = mysqli_fetch_assoc($resultStarParty)) {
echo $row["sp_name"] . "<br/>";
echo "Location : " . $row["sp_location"] . "<br/>";
echo "Current year event start date: " . date_format(new DateTime($row["sp_date_start"]),'F, jS') . " for " . $row["sp_nights"] . " nights<br/>";
echo "Details and map: " . "<a href='".$row["sp_link"]."' target='_blank'>Website</a><br/>";
echo "<br></br>";
}
} // if no records match query - print 0 results
else {
echo "Sorry no star parties for this time and location";
}

预期结果:

  • 所有查询日期/位置/日期+位置都应回显到网页。实际结果:
  • 用户提交的位置和日期落在明星派对事件日期范围内(+- 14 天)
  • 没有显示错误消息
  • 提交按钮没有响应,或者明星聚会 table 没有回显。
  • 如有任何帮助,我们将不胜感激!

解决方案:

  • 我收到了 500 服务器错误,这可能是多种原因造成的。
  • MySQL 数据库正在获取正确的 js 变量值。
  • 当我发现这两个表使用 NEW DATE_TIME 时,问题得到了纠正。
  • 将 PHP 代码更改为 date_create。明星派对结果已显示且正确。
  • 谢谢保罗!

最佳答案

我想我已经解决了。在发生 date_format(new DateTime($row["op_date"]) 的地方,我替换为 date_format(date_create($row["op_date"])。星星派对正在显示现在正确。希望这成立。

关于php 文件不回显远程服务器上 mysql 表的查询,但适用于本地 XAMMP mariaDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56140011/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com