我正在尝试制作一个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;
}
还有其他方法吗?我做错了吗?
由于
答案 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所示。