[英]PHP fetching data from MySQL database
所以我试图以多对多的关系获取数据。
到目前为止,我有这个,它找到了用户:
$user = $_SESSION['user'];
$userID = mysql_query("SELECT * FROM users WHERE user='$user'") or die(mysql_error());
而且我知道要回显这些信息,我必须将它放在一个数组中,如下所示:
while ($r = mysql_fetch_array($userID)) {
echo $r["0"];
}
这很好用,但是当我尝试在另一个表中找到此变量时,我不确定将什么用作变量:
$projects = mysql_query("SELECT projects_ID FROM projects_users WHERE users_ID='???'") or die(mysql_error());
我试过换??? 使用 $userID 和 $r,但无济于事。 我知道代码有效,因为当我手动输入用户 ID 时它很好 - 我哪里出错了?
未经测试,但这应该有效:
$user = mysql_real_escape_string($_SESSION['user']);
$query = mysql_query("SELECT * FROM users WHERE user='$user'") or die(mysql_error());
$result = mysql_fetch_array($query);
$userID = $result[0];
$projects = mysql_query("SELECT projects_ID FROM projects_users
WHERE users_ID='$userID'") or die(mysql_error());
我是你的情况,你需要把 $r[0] 放在那里。
$user = $_SESSION['user'];
$query = mysql_query("SELECT * FROM users WHERE user='".mysql_real_escape_string($user)."' LIMIT 1") or die(mysql_error()); //--note the LIMIT
$result = mysql_fetch_array($query);
$userID = $result[0];
$projects = mysql_query("SELECT projects_ID FROM projects_users WHERE users_ID='$userID'") or die(mysql_error());
我认为当您想以数组形式获取数据时,此代码对初学者很有帮助
我们使用 mysqli 而不是 mysql 来保护您的数据免受 SQL 注入。
在使用此代码之前,请先检查数据库连接
<?php $tableName='abc';
$qry="select * from $tableName";
$results=mysqli_query($qry);
while($records=mysqli_fetch_array($results))
{
$firstrecord=$records[1];
$secondrecord=$records[2];
}
?>
您可以通过一个查询获得您的项目:
$user = mysql_real_escape_string($_SESSION['user']);
$query = mysql_query("SELECT pu.projects_ID FROM users u
INNER JOIN projects_users pu ON (pu.users_ID = u.users_id)
WHERE u.user='$user'") or die(mysql_error());
$result = mysql_query($query) or die(mysql_error());
while ($row = mysql_fetch_assoc($result)) {
echo $row['projects_ID'];
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.