我的PHP& MySQL脚本在本地工作得非常好,但不在我的实时网站上

时间:2017-07-29 14:49:10

标签: php mysql

我的网站上有一个脚本,用于处理消息和警报的通知系统。这个脚本从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错误消息。我真的很想弄明白,因为我想让这个网站尽快恢复工作。

2 个答案:

答案 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