2013-05-06 100 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