[英]mysql_query stopped working after upgrade to Mysql5 and PHP 5.2
我找不到解决方案如何使其工作。 我将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;
?>
没有看到任何错误消息,我猜这是因为mysql_扩展名已经被弃用了一段时间了。 在最新版本中,mysql扩展已从默认的php安装中完全删除。 您应该尝试使用mysqli_或PDO_扩展名。
请加
error_reporting(E_ALL);
ini_set("display_errors", 1);
在代码的开头告诉我们,确实会出现什么错误。
有了这些附加信息,我们可能会提供更多帮助。
附加提示:如果您不仅更新了PHP / mySQL,还更新了XAMPP ,请访问新的php.ini
文件。 您可能需要更改一些设置。
检查是mysql 5中的保留字,请使用反引号。
http://dev.mysql.com/doc/mysqld-version-reference/en/mysqld-version-reference-reservedwords-5-5.html
SET `check`
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.