更改PHP / SQL查询时出现问题
发布时间:2020-12-13 22:04:25 所属栏目:PHP教程 来源:网络整理
导读:在我的网站上,我有一个只有在人员详细信息位于名为Members的表中才能查看的页面,这些值是从上一页的表单中发布的.这是我的原始代码,它运行良好: $query = "SELECT * FROM Members WHERE firstname='" . $firstname . "' and surname='" . $surname. "'"; $r
在我的网站上,我有一个只有在人员详细信息位于名为Members的表中才能查看的页面,这些值是从上一页的表单中发布的.这是我的原始代码,它运行良好:
$query = "SELECT * FROM Members WHERE firstname='" . $firstname . "' and surname='" . $surname. "'"; $result = mysql_query($query); $rows = mysql_num_rows($result); if ($rows == 1) { //user continues loading page } else { header ('location: signup.html'); //user is redirected to sign up page } 在对网站进行一些更改之后,我现在要求同一个用户必须在Members表中使用paid =’TRUE’才能继续加载页面.这是我提出的代码: $query = "SELECT * FROM Members WHERE firstname='" . $firstname . "' and surname='" . $surname. "'"; $result = mysql_query($query); $rows = mysql_num_rows($result); $query = "SELECT paid FROM Members WHERE firstname='" . $firstname . "' and surname='" . $surname. "'"; $result = mysql_query($query); $paid = mysql_num_rows($result); if ($rows == 1 && $paid=='TRUE') { //user continues loading page } else { header ('location: signup.html'); //user is redirected to sign up page } 使用这个新代码,即使用户付费,它也会将它们重新引导到注册页面……我是否以错误的方式解决了这个问题? 解决方法
你用“TRUE”检查$paid,但用mysql_num_rows填充它.
尝试: if ($rows > 0 && $paid >0 ) 代替. 另外,由于我无法看到你是否正确地逃避了你的字符串,请注意$firstname和$surname应该被转义/验证. 无论如何,你可以跳过第二个mysql_query并使用: $query = "SELECT * FROM Members WHERE firstname='" . $firstname . "' and surname='" . $surname. "'"; $result = mysql_query($query); $rows = mysql_num_rows($result); if( $rows ){ $row = mysql_fetch_assoc($result); if($row['paid'] =='TRUE') { //continue } else { //redirect } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |