2013-05-06 97 views
0

我爲學校的課程構建了一個小腳本,它將更新數據庫中的用戶詳細信息。

我的更新腳本有效,但是我想實現的是在php中使用會話變量選擇數據。

該生產線的問題是:

$query = mysql_query ("SELECT * from customer where username = 'ryan'"); 

我寧願它讀取類似:

$query = mysql_query ("SELECT * from customer where username = $_SESSION['myusername']"); 

但是,這是行不通的。會話從我的登錄表單傳遞,可以在頁面上顯示用戶名,但在我的select語句中不起作用。

這裏是我的代碼:

<?php 
session_start(); 

$con = mysql_connect("localhost","root","root"); 
if (!$con) 
{ 
die('Could not connect: ' . mysql_error()); 
} 

mysql_select_db("ryandb", $con); 

echo "welcome ". $_SESSION['myusername'] . " to the members only page</br>"; 


$query = mysql_query ("SELECT * from customer where username = 'ryan'"); 


while ($row = mysql_fetch_array ($query)) 
{ 
    $username = $row['username']; 
    $firstname = $row['firstname']; 
    $surname = $row['surname']; 
    $email = $row['email']; 
} 

?> 

<form method="post" action="updateuser.php"> 
Username: <input type="text" name="username" value="<?php echo $_SESSION['myusername']; ? >" /><br /> 
Firstname: <input type="text" name="firstname" value="<?php echo $firstname; ?>"/><br /> 
Surname: <input type="text" name="surname" value="<?php echo $surname; ?>"/><br /> 
Email: <input type="text" name="email" value="<?php echo $email; ?>"/><br /> 
<input type= "submit" name = "update" value="Update"> 
</form> 
+0

**對於'mysql_ *'函數不再支持**,它們是[**官方不推薦使用的**](https://wiki.php.net/rfc/mysql_deprecation),**不再維護**,將來會[**刪除**](http://php.net/manual/en/function.mysql-connect.php#warning)。您應該使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/msqli)更新您的代碼,以確保您的項目未來的功能。 – Arjan 2013-05-07 05:58:20

回答

0
//$query = mysql_query ("SELECT * from customer where username = $_SESSION['myusername']"); 

試試這個

$query = mysql_query ("SELECT * from customer where username = '$_SESSION['myusername']'"); 
1

使用此查詢。

$query = mysql_query ("SELECT * from customer where username = '".$_SESSION['myusername']."'"); 
+0

非常感謝你或者這個......我對人性的信仰現在已經恢復了。 – user2354077 2013-05-06 11:32:05

+0

@ user2354077如果完全正常工作,則接受它。 – 2013-05-06 11:37:50