【发布时间】:2010-06-15 17:31:25
【问题描述】:
$from = $_POST['from'];
$to = $_POST['to'];
$message = $_POST['message'];
$query = "SELECT * FROM Users WHERE `user_name` = '$from' LIMIT 1";
$result = mysql_query($query);
while($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$fromID = $row['user_id'];
}
我试图让 $formID 成为我数据库中用户的 user_id。用户表中的每一行都是这样的:
user_id | user_name | user_type
1 | Hristo | Agent
所以我想要$from = 1,但上面的代码不起作用。任何想法为什么?
【问题讨论】:
-
在我看来,您并没有与数据库建立实时连接。你能告诉我们你使用
mysql_connect的代码吗? -
你是对的。我没有连接到数据库。现在我和它给出了一个错误。 FireBug 说 500 内部服务器错误
-
你能贴出你使用的代码吗?
-
如果我的用户名是
1'; DROP TABLE Users; --怎么办 -
根据我从您的 cmets 中看到的情况,您可能根本没有接触到这部分代码吗?您的 echo 不打印任何内容,并且您收到 500 个错误。尝试在您的 db-connect 和此查询之间放置类似
die('Reached line: '.__LINE__);的内容,并查看该消息是否出现。如果是的话,把它放在查询之后,看看它是否仍然出现......