[请益] 会员权限 帐号有英文就无法跳(已解决)

楼主: asd56799001 (贝尔菲格诺)   2015-08-05 16:00:59
我有个资料表有七个字段,主要用来存放使用者个人资料
每个使用者都有对应的权限等级,而我权限等级用一个字段存放,目前分1 2 3个等级
http://i.imgur.com/aTc5r8D.jpg
目前功能是想先做,可以依照帐号权限去显示超连结
程式码参考#1IUPiWqn
<?php session_start(); ?>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php
include("mysql_connect.inc.php");
echo '<a href="logout.php">登出</a> <br><br>';
//echo $_SESSION["username"]."<br>";
$sql="SELECT * FROM member_table WHERE username=".$_SESSION["username"];
//echo $sql."<br>";
$result = mysql_query($sql);
while ($row = mysql_fetch_array($result)){
$level = $row["lv"];
}
$_SESSION["memberLevel"]=$level;
if($_SESSION["memberLevel"] =="3"){
echo '<a href="register.html">新增</a>';
}
else if($_SESSION["memberLevel"]=="2"){
echo '<a href="update.php">修改</a>';
}
else{
echo '<a href="delete.php">删除</a><br>';
}
?>
只要登入帐号有英文他就说那行有错,而且结果会直接显示删除的连结
登入帐号是数字功能就正常
以下是错误讯息
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result
resource in C:\AppServ\www\...............\member_2.php on line 11
删除
我看起来没什么问题,希望有高手能来帮忙看一下
补充一下echo $_SESSION["username"]也都有显示登入帐号
作者: anest (形状最重要大小不能少)   2015-08-05 16:09:00
$sql少了最后的双引号?所以username是数字就ok 字串就爆炸
作者: clerkhsiao (火球小子)   2015-08-05 16:16:00
$sql='SELECT * FROM member_table WHERE username="'.$_SESSION["username"].'"';
作者: y2468101216 (芸)   2015-08-05 16:20:00
用PDO会好很多,不用担心爆掉的问题
作者: MOONRAKER (㊣牛鹤鳗毛人)   2015-08-05 16:22:00
SQL内所有value左右加上引号 字段左右加上倒引号养成好习惯 一般而言value加引号就可以了 但是你字段如果刚好取到保留字如left right index等就一定要加
楼主: asd56799001 (贝尔菲格诺)   2015-08-05 16:29:00
感谢上面的大大已经可以了是引号的关系PDO有耳闻...因目前在做一些东西,等这阵过了来学
作者: kattte (诚实面对自己吧!)   2015-08-08 01:22:00
$sql 少了一个引号 有很大的可以在query时 不会出现错误很大可能....最近常遇到这个问题
作者: MOONRAKER (㊣牛鹤鳗毛人)   2015-08-08 01:59:00
少一个就unbalanced 要怎样不会出现错误

Links booklink

Contact Us: admin [ a t ] ucptt.com