需要SQL变量

时间:2013-06-01 12:41:54

标签: php mysql

我正在尝试从表中提取变量,以便在另一个语句中使用它。

变量是电路板的id

<?php 
$data = mysql_query("SELECT id FROM board") 
or die(mysql_error()); 
while($info = mysql_fetch_array( $data )) 
{ 
Print " ".$info['id']." ";
}
?>

这会拉出并列出表格中的所有ID。

我希望能够将".$info['id]."数据用于变量,例如:

$boardid = $info['id'];

然后我可以在另一个声明中使用:

<?php 
$result = mysql_query("SELECT COUNT(is_following_board_id) FROM follow 
WHERE is_following_board_id='$boardid'");
$c = mysql_result($result, 0);
?>

请注意上述声明中的$boardid

但是我无法放置它以获取我需要的$boardid变量。

我尝试了这个,但它不起作用。

有人可以帮忙吗?

<?php 
$data = mysql_query("SELECT id FROM board") 
or die(mysql_error()); 
while($info = mysql_fetch_array( $data )) 
{ 
Print " ".$info['id']." ";
}
$boardid = $info['id'];
?>

我还在学习。 感谢。

3 个答案:

答案 0 :(得分:2)

$boardid = $info['id'] 

需要在while循环中工作:)

答案 1 :(得分:1)

请注意,您使用的是弃用方法。

<?php 
    $data = mysql_query("SELECT id FROM board") or die(mysql_error()); 
    while($info = mysql_fetch_assoc( $data )) 
    { 
        Print " ".$info['id']." ";
        myOtherQuery($info['id']);
    }

    function myOtherQuery($id) {
        $result = mysql_query("SELECT COUNT(is_following_board_id) " +  
            "FROM follow WHERE is_following_board_id='$id'");
        $c = mysql_result($result, 0);
    }
?>
为每个获取的行调用

myOtherQuery。这可能不是非常优化您可能想要查看MySQL join而不是。

SELECT board.id 
    FROM board 
INNER JOIN 
    SELECT follow.is_following_board_id, COUNT(is_following_board_id)
        FROM follow 
ON follow.is_following_board_id=board.id 
GROUP BY board.id;

答案 2 :(得分:0)

假设您的board表中只有一行,那么您可以更新您的while语句

while($info = mysql_fetch_array( $data )) 
{ 
$boardid = $info['id']; 
}