Проверка существования значения в БД

roug13

Участник
Доброго времени суток.
Есть форма привязки кошелька Payeer
Код:
<?PHP
    $db->Query("SELECT * FROM db_users_a WHERE id = '$usid'");
    $purse = $db->FetchArray();

    if(isset($_POST["plat_pass"]))
    {
        function plat_passs($plat_passs){
                                            if( substr($plat_passs,0,1) != "P" ) return false;
                                               if( !preg_match("/^[0-9]{7,8}$/", substr($plat_passs,1)) ) return false;
                                            return $plat_passs;
                                        }
                                            $plat_passs = plat_passs($_POST["plat_pass"]);
                                            $plat_pass = $plat_passs;
                                            if($purse['purse']=="")
                                            {
                                                    if($plat_passs !== false)
                                                    {
                                                        $db->Query("UPDATE db_users_a SET purse = '$plat_pass' WHERE id = '$usid'");
                                                        echo "<center><div class='success'>Кошелек Payeer привязан</div></center><BR />";
                                                    }else echo "<center><div class='error'>Кошелек Payeer имеет неверный формат!</div></center><BR />";
                                                    
                                            }else echo "<center><div class='error'>Вы ранее привязывали кошелек. Для смены, обратитесь в тех поддержку!</div></center><BR />";
    }
?>
Но тут косяк такой, что можно привязать один и тот же кошелёк ко многом аккаунтам. Как сделать проверку существования записи кошелька в БД?
Интересует именно проверка значений в БД. И какой оператор лучше использовать для вывода сообщения о существовании записи?
 

geronimo

Местный
наверно так

Код:
if($db->FetchRow() == 0){

}else echo "<center><b><font color = 'red'>Указанный кошелек уже используется</font></b></center><BR />";
по крайней мере у меня так
 

normalno

Местный
Доброго времени суток.
Есть форма привязки кошелька Payeer
Код:
<?PHP
    $db->Query("SELECT * FROM db_users_a WHERE id = '$usid'");
    $purse = $db->FetchArray();

    if(isset($_POST["plat_pass"]))
    {
        function plat_passs($plat_passs){
                                            if( substr($plat_passs,0,1) != "P" ) return false;
                                               if( !preg_match("/^[0-9]{7,8}$/", substr($plat_passs,1)) ) return false;
                                            return $plat_passs;
                                        }
                                            $plat_passs = plat_passs($_POST["plat_pass"]);
                                            $plat_pass = $plat_passs;
                                            if($purse['purse']=="")
                                            {
                                                    if($plat_passs !== false)
                                                    {
                                                        $db->Query("UPDATE db_users_a SET purse = '$plat_pass' WHERE id = '$usid'");
                                                        echo "<center><div class='success'>Кошелек Payeer привязан</div></center><BR />";
                                                    }else echo "<center><div class='error'>Кошелек Payeer имеет неверный формат!</div></center><BR />";
                                                  
                                            }else echo "<center><div class='error'>Вы ранее привязывали кошелек. Для смены, обратитесь в тех поддержку!</div></center><BR />";
    }
?>
Но тут косяк такой, что можно привязать один и тот же кошелёк ко многом аккаунтам. Как сделать проверку существования записи кошелька в БД?
Интересует именно проверка значений в БД. И какой оператор лучше использовать для вывода сообщения о существовании записи?
Добавьте что то типу этой ошибки
Код:
$db->Query("SELECT COUNT(*) FROM db_users_b WHERE purse = '$purse'");
                if($db->FetchRow() == 0){
               
                }else echo "<center><font color = 'red'><b>Номер кошелька уже есть в базе!</b></font></center><BR />";
 

roug13

Участник
видимо мозгов у меня не хватает ещё. Вставляю так
Код:
<?PHP
$db->Query("SELECT COUNT(*) FROM db_users_a WHERE purse = '$purse'");
                if($db->FetchRow() == 0){
    $db->Query("SELECT * FROM db_users_a WHERE id = '$usid'");
    $purse = $db->FetchArray();

    if(isset($_POST["plat_pass"]))
    {
        function plat_passs($plat_passs){
                                            if( substr($plat_passs,0,1) != "P" ) return false;
                                               if( !preg_match("/^[0-9]{7,8}$/", substr($plat_passs,1)) ) return false;
                                            return $plat_passs;
                                        }
                                            $plat_passs = plat_passs($_POST["plat_pass"]);
                                            $plat_pass = $plat_passs;
                                            if($purse['purse']=="")
                                            {
                                                    if($plat_passs !== false)
                                                    {
                                                        $db->Query("UPDATE db_users_a SET purse = '$plat_pass' WHERE id = '$usid'");
                                                        echo "<center><div class='success'>Кошелек Payeer привязан</div></center><BR />";
                                                    }else echo "<center><div class='error'>Кошелек Payeer имеет неверный формат!</div></center><BR />";
                                                    
                                            }else echo "<center><div class='error'>Вы ранее привязывали кошелек. Для смены, обратитесь в тех поддержку!</div></center><BR />";
    }
}else echo "<center><font color = 'red'><b>Номер кошелька уже есть в базе!</b></font></center><BR />";
?>
Пишет "Номер кошелька уже есть в базе!" сразу при открытии страницы. В других местах не работает вообще.
 

geronimo

Местный
Код:
<?PHP

    $db->Query("SELECT * FROM db_users_a WHERE id = '$usid'");
    $purse = $db->FetchArray();

    if(isset($_POST["plat_pass"]))
    {
        function plat_passs($plat_passs){
                                            if( substr($plat_passs,0,1) != "P" ) return false;
                                               if( !preg_match("/^[0-9]{7,8}$/", substr($plat_passs,1)) ) return false;
                                            return $plat_passs;
                                        }
                                        
                                            $plat_passs = plat_passs($_POST["plat_pass"]);
                                            $plat_pass = $plat_passs;
                                            if($purse['purse']=="")
                                            {
                                        $db->Query("SELECT COUNT(*) FROM db_users_a WHERE purse = '$purse'");
        if($db->FetchRow() == 0){
                                                    if($plat_passs !== false)
                                                    {
                                                        $db->Query("UPDATE db_users_a SET purse = '$plat_pass' WHERE id = '$usid'");
                                                        echo "<center><div class='success'>Кошелек Payeer привязан</div></center><BR />";
                                                    }else echo "<center><div class='error'>Кошелек Payeer имеет неверный формат!</div></center><BR />";
                                                    }else echo "<center><font color = 'red'><b>Номер кошелька уже есть в базе!</b></font></center><BR />";
                                            }else echo "<center><div class='error'>Вы ранее привязывали кошелек. Для смены, обратитесь в тех поддержку!</div></center><BR />";
    }

?>
 
Верх