如何使用 PHP 从 MySQL 数据库获取响应
How to get response from MySQL database using PHP
我正在使用一个将文件分配给用户的系统。问题是,响应 userid 始终为 0。
$user = htmlentities($_SESSION['username']);
$sql = "INSERT INTO `files`(
`userid`,
`filename`,
`filesize`,
`filetype`,
`filepath`
)
VALUES
(\"". get_user_id($user). "\",\"".
$_FILES['userfile']['name']. "\",\"".
$_FILES['userfile']['size']. "\",\"".
$_FILES['userfile']['type']. "\",\"".
$fileadress.
"\")";
函数get_user_id
function get_user_id($user){
mysql_connect(HOST, USER, PASSWORD)
or die(mysql_error());
$sqlinit = "USE secure_login";
mysql_query($sqlinit);
$sql = "SELECT `id` FROM `members` WHERE `username` = '". $user."'";
$result = mysql_query($sql);
//mysql_fetch_array($result);
echo mysql_error();
$userid = $result;
return $userid;
}
没有错误,没有警告,其他一切正常,只有 userid 始终显示为 0,即使成员中的 id 为 1,2 等。我是否遗漏了什么?在这两个表中,userid 和 id 都是 int.
我相信你必须使用 $userid=$result['id']
mysql_query() returns你一个mysql对象,你把这个对象放在result变量中。因此,如果您执行 $userid = $result;
,您只需将数组复制到一个新变量。
您没有正确访问该元素,您应该改写:$userid = $result['id'];
养成使用var_dump($result);
的习惯,看看你到底有什么变化(这里是结果)
编辑:
$sql = "SELECT id FROM members WHERE username = '". $user."'";
$queryRes = mysql_query($sql);
$result = mysql_fetch_array($queryRes);
$userid = $result['id'];
根据您的 table,正确的索引是 userid
即:
$userid = $result['id'];
我正在使用一个将文件分配给用户的系统。问题是,响应 userid 始终为 0。
$user = htmlentities($_SESSION['username']);
$sql = "INSERT INTO `files`(
`userid`,
`filename`,
`filesize`,
`filetype`,
`filepath`
)
VALUES
(\"". get_user_id($user). "\",\"".
$_FILES['userfile']['name']. "\",\"".
$_FILES['userfile']['size']. "\",\"".
$_FILES['userfile']['type']. "\",\"".
$fileadress.
"\")";
函数get_user_id
function get_user_id($user){
mysql_connect(HOST, USER, PASSWORD)
or die(mysql_error());
$sqlinit = "USE secure_login";
mysql_query($sqlinit);
$sql = "SELECT `id` FROM `members` WHERE `username` = '". $user."'";
$result = mysql_query($sql);
//mysql_fetch_array($result);
echo mysql_error();
$userid = $result;
return $userid;
}
没有错误,没有警告,其他一切正常,只有 userid 始终显示为 0,即使成员中的 id 为 1,2 等。我是否遗漏了什么?在这两个表中,userid 和 id 都是 int.
我相信你必须使用 $userid=$result['id']
mysql_query() returns你一个mysql对象,你把这个对象放在result变量中。因此,如果您执行 $userid = $result;
,您只需将数组复制到一个新变量。
您没有正确访问该元素,您应该改写:$userid = $result['id'];
养成使用var_dump($result);
的习惯,看看你到底有什么变化(这里是结果)
编辑:
$sql = "SELECT id FROM members WHERE username = '". $user."'";
$queryRes = mysql_query($sql);
$result = mysql_fetch_array($queryRes);
$userid = $result['id'];
根据您的 table,正确的索引是 userid
即:
$userid = $result['id'];