[請益] 會員權限 帳號有英文就無法跳(已解決)

作者: 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