升级到Mysql5和PHP 5.2后,mysql_query停止工作

时间:2013-10-30 22:55:09

标签: php mysql mysql4

我可以'找到解决方案如何让它发挥作用。我将Mysql 4升级到Mysql 5并将PHP更改为5.2,从那时起我无法激活帐户和登录。 这段代码出了什么问题?

    include_once("conn.php");
    $check_num = $_GET['c'];

    $exists ="SELECT * FROM registry WHERE check = '$check_num'";

    $eresult = mysql_query($exists);

    if (!$eresult) 
    {
        die('<p>Error performing query: ' . mysql_error() . '</p>');
    }
    $row =  mysql_fetch_array($eresult);
    $key = $row['regkey'];
    $name = $row['title'] . ' ' . $row['name'] . ' ' . $row['surname'];
    $user = $row['username'];

    if (mysql_num_rows($eresult) == 1) 
    {
        $selected = mysql_query($eresult);
        $sql = " UPDATE registry 
                        SET check = 'ok'
                        WHERE regkey = $key";

        $result = mysql_query($sql);
        if (mysql_affected_rows() == 1)
            {
                $message = "The account $user has now been activated.";
                echo "<script type=\"text/javascript\">
            alert('The account $user has now been activated.');
            </script>
            <script>document.location.href='../index.php'</script>";

            }
        }
        else
        {
            $message = "There was a problem with your check value, please try copy and pasteing the URL again. ";
        }
    echo $message;
     ?>

3 个答案:

答案 0 :(得分:1)

没有看到任何错误消息,我猜这是因为mysql_扩展已经被弃用了一段时间了。在最近的版本中,mysql扩展已完全从默认的php安装中删除。您应该尝试使用mysqli_或PDO_扩展名。

答案 1 :(得分:0)

请添加

error_reporting(E_ALL); 
ini_set("display_errors", 1); 

在代码的开头告诉我们,出现了哪些错误。

有了这些附加信息,我们可能会提供更多帮助。

附加提示:如果您不仅更新了PHP / mySQL,而且例如 XAMPP ,查看新的php.ini文件。您可能需要更改一些设置。

答案 2 :(得分:0)

检查是mysql 5中的保留字,使用反引号。

http://dev.mysql.com/doc/mysqld-version-reference/en/mysqld-version-reference-reservedwords-5-5.html

SET  `check`