使用PHP从MySQL数据库获取值

使用PHP从MySQL数据库获取值,php,mysql,database,Php,Mysql,Database,我正在尝试将$formID作为数据库中某个用户的用户id。“用户”表中的每一行类似于: $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(

我正在尝试将$formID作为数据库中某个用户的用户id。“用户”表中的每一行类似于:

$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'];
} 

所以我想要
$from=1
,但是上面的代码不起作用。你知道为什么吗?

改用mysql_fetch_assoc

改用mysql_fetch_assoc

而($row=
($result)){$fromID=$row['user\u id'];
}
而($row=
($result)){$fromID=$row['user\u id'];
}

尽管它应该。 试试这个代码

user_id | user_name | user_type
   1    |  Hristo   |   Agent
如果它不会抛出错误,但仍然不打印id,请添加此行

$from    = mysql_real_escape_string($_POST['from']);
$to      = mysql_real_escape_string($_POST['to']);
$message = mysql_real_escape_string($_POST['message']);

$query  = "SELECT * FROM Users WHERE `user_name` = '$from' LIMIT 1";
$result = mysql_query($query) or trigger_error(mysql_error().$query);
$row = mysql_fetch_array($result, MYSQL_ASSOC);
$fromID = $row['user_id'];
echo $fromID;
在这里发布它的输出

并不是说不应该使用用户名,而是应该使用用户id来称呼特定的用户。

。 试试这个代码

user_id | user_name | user_type
   1    |  Hristo   |   Agent
如果它不会抛出错误,但仍然不打印id,请添加此行

$from    = mysql_real_escape_string($_POST['from']);
$to      = mysql_real_escape_string($_POST['to']);
$message = mysql_real_escape_string($_POST['message']);

$query  = "SELECT * FROM Users WHERE `user_name` = '$from' LIMIT 1";
$result = mysql_query($query) or trigger_error(mysql_error().$query);
$row = mysql_fetch_array($result, MYSQL_ASSOC);
$fromID = $row['user_id'];
echo $fromID;
在这里发布它的输出

并不是说您不应该使用用户名,而是用户id来称呼特定的用户。

尝试以下方法:

var_dump($row);
此外,请确保:

  • 您已连接到数据库
  • 如果您确实从帖子中获得了数据,请尝试使用您的变量
    var\u dump
    ,例如
    var\u dump($from)
试试这个:

var_dump($row);
此外,请确保:

  • 您已连接到数据库
  • 如果您确实从帖子中获得了数据,请尝试使用您的变量
    var\u dump
    ,例如
    var\u dump($from)



似乎不起作用。。。我想我永远也进不了这个圈子。。。我在while循环中的赋值后放置了一个
echo$fromID
,但它没有打印任何内容:/does似乎不起作用。。。我想我永远也进不了这个圈子。。。我在while循环中的赋值后放置了一个
echo$fromID
,但它没有打印任何内容:/does似乎不起作用。。。我想我永远也进不了这个圈子。。。我在while循环中的赋值之后放了一个echo$fromID,但它没有打印任何内容:/似乎不起作用。。。我想我永远也进不了这个圈子。。。我在while循环中的赋值后放了一个echo$fromID,它没有打印任何内容:/I没有连接到数据库。。。现在我是,它给了我一个error@Hristo这意味着要么你看不到任何错误,要么你的数据库中没有这样的记录。确保两件事都顺利进行。我唯一的错误信息来自FireBug,上面写着
500内部服务器错误
。我会继续努力的。Thanks@Hristo要查看实际的错误消息,您必须参考toweb服务器错误日志。你能找到一个吗?/private/etc/apache2/error_log上写着“[Tue Jun 15 12:49:44 2010][error][client::1]PHP注意:使用未定义的常量密码-在第5行的/Library/WebServer/Documents/jQueryChat/db.PHP中假定为“PASSWORD”,请参考:“我没有连接到数据库。。。现在我是,它给了我一个error@Hristo这意味着要么你看不到任何错误,要么你的数据库中没有这样的记录。确保两件事都顺利进行。我唯一的错误信息来自FireBug,上面写着
500内部服务器错误
。我会继续努力的。Thanks@Hristo要查看实际的错误消息,您必须参考toweb服务器错误日志。你能找到一个吗?/private/etc/apache2/error_log上写着“[Tue Jun 15 12:49:44 2010][error][client::1]PHP注意:使用未定义的常量密码-在第5行的/Library/WebServer/Documents/jQueryChat/db.PHP中假设为“PASSWORD”,referer:“在我看来,你没有与数据库的实时连接。你能告诉我们你使用mysql\u connect的代码吗?你说得对。我没有连接到数据库。现在我是,它给出了一个错误。FireBug说500内部服务器错误你能发布你使用的代码吗?如果我的用户名是
1';删除表用户--从您的评论中我看到,您可能根本就没有接触到代码的这一部分吗?你的回音没有打印任何东西,你会收到500个错误。尝试放置类似于
die('reactedline:')的内容
在db connect和此查询之间的某个位置,查看是否显示该消息。如果是的话,把它放在查询之后,看看它是否仍然出现……在我看来,你与数据库没有实时连接。你能告诉我们你使用mysql\u connect的代码吗?你说得对。我没有连接到数据库。现在我是,它给出了一个错误。FireBug说500内部服务器错误你能发布你使用的代码吗?如果我的用户名是
1';删除表用户--从您的评论中我看到,您可能根本就没有接触到代码的这一部分吗?你的回音没有打印任何东西,你会收到500个错误。尝试放置类似于
die('reactedline:')的内容
在db connect和此查询之间的某个位置,查看是否显示该消息。如果有,请将它放在查询之后,看看它是否仍然出现……我现在已连接到数据库,$from,$to$消息都正确!拒绝访问用户'Hristo'@'localhost'(使用密码:否)@Hristo:这意味着您未连接到数据库。确保指定了正确的数据库信息。另见:@Sarfraz。。。我相信我已连接到数据库,因为我可以成功地在代码的另一部分显示用户名。我还在调查,这可能是个愚蠢的错误。但我会回去检查数据库连接代码。谢谢。你说得对。。。我道歉。我以为我连接到了数据库,因为我记得我曾经输入过
require__once(“db.php”)
,但我可能用Ctr-Z删除了它。现在可以工作了:)谢谢我现在连接到了数据库,$from,$to,$message都是正确的!拒绝访问用户'Hristo'@'localhost'(使用密码:否)@Hristo:这意味着您未连接到数据库。确保指定了正确的数据库信息。另见:@Sarfraz。。。我相信我已连接到数据库,因为我可以成功地在代码的另一部分显示用户名。我还在调查,这可能是个愚蠢的错误。但我会回去的