繁体   English   中英

PHP 从 MySQL 数据库中获取数据

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM