Php 无法从mysql数据库获取用户数据
我试图从mysql中的一个表访问用户数据,以便在屏幕上显示它 例如,“以“用户名”登录。” 我已按照本手册的说明进行操作 这是我的职责:Php 无法从mysql数据库获取用户数据,php,mysql,Php,Mysql,我试图从mysql中的一个表访问用户数据,以便在屏幕上显示它 例如,“以“用户名”登录。” 我已按照本手册的说明进行操作 这是我的职责: //create function to fetch user data (eg. username, firstname, address, etc.) function fetchUserData($field) { $user_id = $_SESSION['user_id']; $query = "SELECT '$field' FROM use
//create function to fetch user data (eg. username, firstname, address, etc.)
function fetchUserData($field) {
$user_id = $_SESSION['user_id'];
$query = "SELECT '$field' FROM users WHERE id = '$user_id'";
if ($query_run = mysql_query($query)) {
if ($query_result = mysql_result($query_run, 0, $field)) {
return $query_result;
}
}
}
我这样调用函数:
$firstname = fetchUserData('firstname');
$surname = fetchUserData('surname');
echo 'Logged in as '.$firstname.' '.$surname.'.';
$\u会话['user\u id']
正在工作,我已经测试过了。但我无法收集与该用户id相关的数据(用户名、地址等)
此外,$query_run
正在返回资源ID#7,不管这意味着什么
if ($query_result = mysql_result($query_run, 0, $field)) {
return $query_result;
}
应该是
if ($query_result = mysql_result($query_run, 0)) {
return $query_result;
}
或者你可以使用
if ($query_result = mysql_result($query_run, 0, "'".$field."'")) {
return $query_result;
}
向$field添加单引号在
$field
$query = "SELECT '$field' FROM users WHERE id = '$user_id'";
回击
$query = "SELECT `$field` FROM users WHERE id = '$user_id'";
^ ^
此外,您没有显示mysql\u connect()
,因此很可能存在变量作用域问题——因此您的查询由于没有连接而失败。您可以使用或die(mysql\u error())
-
或
请定义“不工作”好吗?打印的是什么而不是用户名或名字?非常感谢!!!回击成功了。它正在连接到服务器,为此我有一个单独的脚本:)
if ($query_run = mysql_query($query) or die(mysql_error()) {
if ($query_run = mysql_query($query)) {...}
else{die(mysql_error());}