PHP PDO - 如果另一列中存在另一个值,请检查列中是否存在值

时间:2014-09-18 11:26:25

标签: php mysql sql pdo

我有以下PHP代码

$queryTableProfileUpdate = $dbh->prepare( "SELECT business_profile_id, business_owner_id FROM TABLE_PROFILES WHERE business_profile_id = $businessOwnerID AND business_profile_id = ?");
$queryTableProfileUpdate->bindValue( 1, $businessProfileID);
$queryTableProfileUpdate->execute();
$resultTableProfileUpdate = $queryTableProfileUpdate->fetch();

if(($queryTableProfileUpdate->rowCount()) == 1) {
    echo 'Busines Profile Exists';
}
else {
    echo 'Business profile does NOT exist';
}

这是我的SQL表

---------------------------------------------------------------------------
| ID        | business_profile_id        | business_owner_id              |
---------------------------------------------------------------------------
| 01        | 1234567                    | abcdefghi                      |
---------------------------------------------------------------------------
| 02        | 2345678                    | abcdefghi                      |
---------------------------------------------------------------------------
| 03        | 3456789                    | abcdefghi                      |
---------------------------------------------------------------------------
| 04        | 1234589                    | xyzuvwxyz                      |
---------------------------------------------------------------------------

在上表business_profile_id中,business_owner_id是唯一的,而business_profile_id 不是唯一。

在我的条件声明中,我想检查business_owner_id是否存在business_owner_id

如果说我有business_profile_id abcdefghi business_owner_id 2345678 - 我希望条件语句告诉我该记录存在于 ABCDEFGHI

否则,如果说我有business_profile_id xyzuvwxyz 和{{1}} 2345678 - 我希望条件语句告诉我该记录< abcdefghi 中存在strong> not 。

我没有错误日志只是条件语句保持不变。

2 个答案:

答案 0 :(得分:0)

你在查询中犯了错误:

    SELECT business_profile_id, business_owner_id FROM TABLE_PROFILES 
WHERE business_profile_id = $businessOwnerID AND business_profile_id = ?

应该是:

    SELECT business_profile_id, business_owner_id FROM TABLE_PROFILES 
WHERE business_owner_id = $businessOwnerID AND business_profile_id = ?

答案 1 :(得分:0)

这是我尝试过的,似乎有效:

########## GET PROFILE DETAILS FROM MYSQL ##########
$queryBusinessID = $dbh->prepare("SELECT business_profile_id FROM TABLE_PROFILES WHERE business_owner_id = $businessOwnerIDSession");
$queryBusinessID->execute();

while ($resultBusinessID = $queryBusinessID->fetch()) {
    $businessProfileID = $resultBusinessID['business_profile_id'];
    ########## FORM DECISION ##########
    if($businessProfileID == $businessProfileIDUrl) {
        echo $businessProfileIDUrl .' - Profile exist <br/>'; 
    } else {
        echo $businessProfileIDUrl .' - Profile does not exist <br/>'; 
    }

}

我知道还有其他最佳解决方案。我对新想法持开放态度。

相关问题