我的网站上有一个脚本,用于处理消息和警报的通知系统。这个脚本从MySQL数据库中提取数据,它在本地就像一个魅力,但在我的实时网站上,查询失败了。这个脚本总是返回false并转到其他条件实时,但在本地它完全按照应有的方式工作。
$queryNots = 'Select message, DATE_FORMAT(timeSent, "%h:%i %p %W, %M %D ") timeSent FROM notifications WHERE UserID="' . $userId . '" AND seen="n";';
if ($result = $con->query ($query)) {
$resultNum = mysqli_num_rows ( $result );
echo '<h2>You have ' . $resultNum . ' Notifications</h2>
<ul>';
while ( $row = $result->fetch_assoc () ) {
echo '<li>' . $row ["message"] . ' @ ' . $row ['timeSent'] . '</li>';
}
if ($resultNum > 0) {
echo '
</ul>
<form method="post" action="deleteNots.php">
<input type="hidden" name="curID" value="' . $userId . '">
<input type="submit" value="Dismiss">
</form>
';
}
} else {
echo '<h2>Error reading table</h2>';
}
在实际网站上,如果我取出if-else并且只运行查询,它不仅会失败,而且会终止整个脚本。我不知道是什么导致这种情况,我知道这些表是相同的,因为我在不同的脚本中使用它们就好了。
我绝对没有什么可以使用的,因为它没有给我任何类型的MySQL错误消息。我真的很想弄明白,因为我想让这个网站尽快恢复工作。
答案 0 :(得分:0)
$query = 'Select message, DATE_FORMAT(timeSent, "%h:%i %p %W, %M %D ") timeSent FROM notifications WHERE UserID="' . $userId . '" AND seen="n"';
$result = $con->query($query);
if ($result) {
$resultNum = mysqli_num_rows($result);
echo '<h2>You have '.$resultNum.'Notifications</h2><ul>';
while($row = $result->fetch_assoc()) {
echo '<li>' . $row ["message"] . ' @ ' . $row ['timeSent'] . '</li>';
}
if ($resultNum > 0) {
echo '
</ul>
<form method="post" action="deleteNots.php">
<input type="hidden" name="curID" value="' . $userId . '">
<input type="submit" value="Dismiss">
</form>
';
}
} else {
echo '<h2>Error reading table</h2>';
}
注:
$queryNots
变量,因为您在代码下方使用了$query
变量
即:$result = $con->query($query);
$queryNots
:: seen="n";';
答案 1 :(得分:0)
该问题的解决方案最终出现在该问题的注释中,因此我无法将其标记为已完成。
尝试echo mysql_error()看看那里发生了什么–英俊的7月29日 '17在14:51