我的问题是我想在我的数据库中检查如果我在特定表中至少有一个条目我要禁用图像。
我认为我可以拥有类似的东西......
<?php
if($query = mysql_query("SELECT name,email,city,phone FROM personal_information WHERE username='$username'"))
{
if(mysql_num_rows($query)=0)
{
<a href="cv/addcv.php"><img src="images/addcv.png" style="display: none;"> </a>
}
else
{
<a href="cv/addcv.php"><img src="images/addcv.png" style="width:120px;height:120px"> </a>
}
}
?>
但它不起作用...... 你能建议我解决吗?
答案 0 :(得分:6)
两件事。首先,你不是在做比较 -
if(mysql_num_rows($query)=0) // you need != (not equal) or > (greater than) or == (equal to)
其次,您没有回显HTML标记。这应该会导致错误。您应该关闭PHP标记或回显标记,以便获得正确的输出。例如:
echo '<a href="cv/addcv.php"><img src="images/addcv.png" style="display: none;"> </a>';
您应该在打开<?php
代码error_reporting(E_ALL); ini_set('display_errors', 1);
后立即在文件顶部添加错误报告,以便查看所有错误。
请stop using mysql_*
functions。不再维护它们,而是officially deprecated。 了解prepared statements ,使用PDO。 You're inviting SQL injection!
答案 1 :(得分:2)
它不起作用,因为您没有在HTML之前添加PHP结束标记。试试这个:
<?php
if($query = mysql_query("SELECT name,email,city,phone FROM personal_information WHERE id>'$id' AND username='$username'"))
{
if(mysql_num_rows($query)==0)
{
?>
<a href="cv/addcv.php"><img src="images/addcv.png" style="display: none;"> </a>
<?php
}
else
{
?>
<a href="cv/addcv.php"><img src="images/addcv.png" style="width:120px;height:120px"> </a>
<?php
}
}
?>
答案 2 :(得分:1)
更改
if(mysql_num_rows($query)=0)
要
if(mysql_num_rows($query)==0)
另外:不推荐使用mysql函数。请改用PDO。如果由于某种原因这不是一个选项,你也可以使用mysqli函数,但现在推荐使用PDO。