Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP中,如果列为false,则运行mysql查询_Php_Mysql - Fatal编程技术网

在PHP中,如果列为false,则运行mysql查询

在PHP中,如果列为false,则运行mysql查询,php,mysql,Php,Mysql,如果第一个mysql查询coulmn返回false或设置为false,我将尝试显示mysql查询的结果和一些html。我尝试了一些方法,但似乎无法使其正常工作,我将在下面显示代码。非常感谢您的帮助。在代码中,如果用户的确认为false,我只想显示站点消息,否则不显示任何内容 function siteWideMessage()

如果第一个mysql查询coulmn返回false或设置为false,我将尝试显示mysql查询的结果和一些html。我尝试了一些方法,但似乎无法使其正常工作,我将在下面显示代码。非常感谢您的帮助。在代码中,如果用户的确认为false,我只想显示站点消息,否则不显示任何内容

function siteWideMessage()                                                                                                 
{                                                                                                                          
    global $dbh;                                                                                                           



$siteMessage = "";                                                                                                     

$sUserInfo = $dbh->prepare("                                                                                           
    SELECT acknowledgement                                                                                             
    FROM user                                                                                                          
    WHERE uid = :uid                                                                                                   
");                                                                                                                    
$sUserInfo->bindValue(":uid", $_SESSION["uid"]);                                                                       
if ($sUserInfo->execute()) {                                                                                           
    $res = $sUserInfo->fetch();                                                                                        
    if ($res["acknowledgement"] = false) {                                                                             
        $stmt = $dbh->query("                                                                                          
            SELECT message                                                                                             
            FROM SiteWideMessages                                                                                      
            ORDER BY idSiteWideMessages DESC                                                                           
            LIMIT 1                                                                                                    
        ");                                                                                                            
        while ($row = $stmt->fetch()) {                                                                                
            $siteMessage .= "                                                                                          
                <div class='siteMessage'>                                                                              
                    <span>" . $row["message"] . "</span>                                                               
                    <br><br>                                                                                           
                    <span style='font-weight:normal;'>I acknowledge that I have read this important site message</span>
                    <br>                                                                                               
                    <input type='submit' name='submit' value='I Agree'></input>                                        
            </div>";                                                                                                   
        }                                                                                                              
    }                                                                                                                  
    $sUserInfo->closeCursor();                                                                                         
}                                                                                                                      

if (isset($_POST["submit"])) {                                                                                         

    $stmt = $dbh->prepare("                                                                                            
        UPDATE user                                                                                                    
        SET `acknowledgement` = 'true'                                                                                 
        WHERE uid = :uid                                                                                               
    ");                                                                                                                
    $stmt->bindValue(":uid", $_SESSION["uid"]);                                                                        
    if($stmt->execute()) {                                                                                             
        $stmt->closeCursor();                                                                                          
    }                                                                                                                  
}                                                                                                                      
return $siteMessage;                                                                                                 } 

谢谢大家的帮助

您的if语句中缺少一个
=
。应该是:

...
if ($res["acknowledgement"] === false) {
...

如果($res[“Acknowledge”]=false)不是检查,则将其设置为false,并且if将始终失败。。再加1=谢谢你快速回复Svetlio,我想我一定有更大的下划线问题,或者我的逻辑错了。我试图使用if($res[“acknowledge”]==false),我认为如果mysql中的列(acknowledge)为false,它将显示结果。我是对的还是我的逻辑错了?事实上我想我知道了,我使用了if($res[“acknowledge”]=“false”),并且它的显示正确。谢谢你的帮助!感谢你的帮助Jerodev,我成功地让逻辑正常工作了,我只需要使用“==”并将false转换成字符串。现在可以正常显示了。
...
if ($res["acknowledgement"] === false) {
...