Проверка за съществуващ ред в базата ?

DirectX

Registered
Идеята: ако нещо го има в базата (даден линк) да не може да се сложи отново ? :twisted:
 
PHP:
$link = 'asd';
$query= mysql_query("SELECT * FROM `table` WHERE `link`='$link'")oe(mysql_error()); //проверка да ли съществува
if (mysql_num_rows($query) > 0) {
echo "линка вече съществува.";
} else {
//kod
}
 
PHP:
  $zaqvka = mysql_query("SELECT poleto FROM tablicata WHERE poleto='$vuvedenoto' LIMIT 1") or die (mysql_error());
            if(mysql_num_rows($q) > 0)
            {
                echo   "има такъв запис";
            }
 
jooorooo каза:

колегата е прав винаги е по добре да си направиш колоната уникална от колкото да се занимаваш с проверки
в sql конзола или с заявка изпълняваш еднократно:
PHP:
ALTER TABLE `tablica` ADD UNIQUE (
`kolona`
)
 
stonybg каза:
jooorooo каза:

колегата е прав винаги е по добре да си направиш колоната уникална от колкото да се занимаваш с проверки
в sql конзола или с заявка изпълняваш еднократно:
PHP:
ALTER TABLE `tablica` ADD UNIQUE (
`kolona`
)
Това е добър метод за защита в дълбочина, но ако държиш сайтът ти да е user friendly трябва поне да изпишеш грешка или уведомление.

Аз бих ползвал това:
PHP:
$q = mysql_fetch_object( mysql_query( "select count(*) as `count` from `table` where `col` = '{$value}';" ) );

if( $q -> count > 0 )
    print 'Error';
Малко по-бързо е отколкото да се селектира всичката информация в таблицата, въпреки че тук очакванията са селекцията да е празна.
 

Back
Горе