当我检查我的数据库中是否有条目时创建隐藏图像

Create a hidden image when I check if I have an entry in my database

我的问题是我想检查我的数据库,如果我在特定 table 中至少有一个条目,我想禁用图像。

我想我可以拥有类似的东西...

<?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>
        }
    }
?>

但是没用... 你能给我一些解决方案吗

它不起作用,因为您没有在 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
        }
    }
?>

改变

if(mysql_num_rows($query)=0)

if(mysql_num_rows($query)==0)

另外:mysql 函数已弃用。请改用 PDO。如果出于某种原因这不是一个选项,您也可以使用 mysqli 函数,但现在推荐使用 PDO。

两件事。首先你不是在这里做比较 -

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. They are no longer maintained and are officially deprecated. Learn about prepared statements instead, and use PDO. You're inviting SQL injection!