2014-04-11 26 views
0

所以我想根據用戶提供的電子郵件和密碼獲取FirstName值。但由於某些原因,我的代碼不會返回任何內容。任何人都可以幫忙嗎?mysql - PHP從表中選擇不起作用

$sql_result = "SELECT FirstName FROM $tbl_name WHERE Email='$email' and Password='$mypassword' limit 1"; 
$res = mysql_query($sql_result); 
$value = mysql_fetch_object($res); 

$_SESSION['name']=$value['FirstName']; 

我也嘗試了下面的代碼,但那也沒有工作。

$_SESSION['name']=$value->FirstName; 
+0

是否確定您的查詢正在執行?首先使用mysql_error()來查看發生了什麼。 –

+0

您是否在腳本的頂部使用了session_start()?在這裏看到更多的代碼將是非常有用的。而阿比克的評論是正確的。 – larsAnders

+0

@larsAnders是的,我確實在代碼頂部有session_start()。和Abhik我沒有把mysql_error()並得到這些: 警告:mysql_query()期望參數1是字符串,對象在第54行/home/u342178811/public_html/checklogin.php警告:mysql_fetch_assoc()期望參數1是資源,null在/ home/u342178811/public_html/checklogin.php在線55 –

回答

0
$value = mysql_fetch_object($res); 
        ^^^^^^^---- fetching an object 

$_SESSION['name']=$value['FirstName']; 
        ^^^^^^^^^---treating it like an array 

嘗試mysql_fetch_assoc()代替,所以你真的$value是一個數組,或者使用$value->FirstName,並用它作爲對象真的是。

+2

Psst ...使用'$ _SESSION ['name'] = $ value->名字命名提到的名字;'' – larsAnders