动态CSS文档中的MySQL查询

时间:2014-03-14 04:09:54

标签: html mysql sql server-side

我正在尝试制作一个CSS文件,根据登录的用户改变颜色但是我似乎无法从CSS文档中运行SQL查询。这样做会否定css ......

在主页的顶部,我有:

<link rel="stylesheet" href="css/dynamictag.php" media="screen">

当文件如下所示时,CSS工作:

<?php
    header("Content-type: text/css; charset: UTF-8");
?>
#colortag {
    width: 30px;
    height: 50px;
    float: left;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    -webkit-box-shadow: 1px 0px 5px;
    box-shadow: 1px 0px 5px;
    margin-left: 5px;
    margin-top: -5px;
    background-color: #FFFFFF;
    margin-right: 5px;
}
#theuser {
    float: left;
    font-size: small;
}

但是当我有以下内容时它不适用:

<?php
    header("Content-type: text/css; charset: UTF-8");
?>
<?php
$query="SELECT Color FROM UserColors JOIN Users ON UserColors.idUserColors=Users.UserColors_idUserColors WHERE user_name='$login_session';"
        $result=mysql_query($query);
        $row=mysql_fetch_array($result);
        $color='#'.$row['Color'];
?>
#colortag {
    width: 30px;
    height: 50px;
    float: left;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    -webkit-box-shadow: 1px 0px 5px;
    box-shadow: 1px 0px 5px;
    margin-left: 5px;
    margin-top: -5px;
    background-color: <?php echo $color;?>;
    margin-right: 5px;
}
#theuser {
    float: left;
    font-size: small;
}

还有其他方法吗?我做错了吗?

由于

1 个答案:

答案 0 :(得分:1)

以下行最后缺少分号(而是在SQL语句中有分号),因此PHP没有正确执行。

$query="SELECT Color FROM UserColors JOIN Users ON UserColors.idUserColors=Users.UserColors_idUserColors WHERE user_name='$login_session';"

应该是:

$query="SELECT Color FROM UserColors JOIN Users ON UserColors.idUserColors=Users.UserColors_idUserColors WHERE user_name='$login_session'";

此外,您应该使用mysqli或PDO。不推荐在PHP中使用mysql_query,如mysql_query PHP page所示。