php - MySQL 行计数查询按预期工作 localhost/Xampp 但不在托管服务器上
问题描述
我运行以下查询来检查学生是否已经预订了一个活动,以通过以下带有 PDO 和 HTML 的 SQL禁用“立即预订”按钮来阻止他们重新预订:
// Existing Booking check to disable Booking button if required:
$bookingcount=0;
$countsql = "SELECT Count(BookingId) FROM tblBookings WHERE tblBookings.UserId=? AND tblBookings.EventId=?";
$countquery = $dbh -> prepare($countsql);
$countquery->execute([$userid,$eid]);
$bookingcount = intval($countquery->fetchColumn());
<button type="button" <?php echo $bookingcount > 0 ? 'disabled="true"' : ''; ?> class="btn btn-info btn-lg" data-toggle="modal" data-target="#myModal">Book Now</button></div>
我在本地主机和服务器上都使用了 Userid 和 EventID 的回显,它们总是显示正确的值。
在 localhost 上,如果存在现有预订,则 $bookingcount 回显为 1,否则为 0,因此在需要时禁用该按钮。
在托管服务器上,即使存在现有预订,它也始终返回零。从会话变量中检索 Userid 并传入 eid。两者始终通过 echo 在 localhost 或服务器环境中显示为正确值。
我在查询中添加了表名作为前缀,因为此处提到的另一个类似问题已通过前缀修复,但在这种情况下不是。
没有其他查询给我带来问题,这是唯一使用的 Select Count(*) - 是否存在用于计算不同环境导致此类错误的行的特殊情况?
我知道当我通过 PDO 对选择计数进行编码时,我不得不对其进行研究,因为有很多人对应该如何完成提出了相互矛盾的评论......
任何指针都非常感谢
谢谢马丁
解决方案
推荐阅读
- function - 如何在python中定义函数序列?
- html - 如何在页面重新加载后引用表单字段值以保留输入值?
- javascript - 如何在pdfMake表中创建动态行
- node.js - 在节点 js 中测试每日 cron 作业
- r - ggplot中的条宽或间距与x轴上的月份不一致
- java - android studio 中的 GPS 状态 - API 级别 29
- windows - Windows Powershell 策略执行绕过
- webrtc - 上传录制视频时如何克服 xss 或跨站脚本攻击?
- opencv3.0 - 更新默认组和其他组的更改密码页面
- c++ - 如何修复 mciSendString() 延迟?