$db->query(“SELECT * FROM “.DB_PREFIX.”users WHERE uid=’“.$uid_id.”’ AND login=’ExpressCheckoutUser’“); if ($db->moveNext()) {
$db->assignStr("address1", $_REQUEST['address_street']); $db->assignStr("city", $_REQUEST['address_city']); $db->assignStr("state", $_REQUEST['address_state']); $db->assignStr("fname", $_REQUEST['first_name']); $db->assignStr("lname", $_REQUEST['last_name']); $db->assignStr("email", $_REQUEST['payer_email']); $db->assignStr("country", $country_code); $db->assignStr("zip", $_REQUEST['address_zip']); $db->update(DB_PREFIX."users", "WHERE uid='".$uid_id."'"); $db->reset(); }
每次我通过贝宝付款时,我的信息都会在数据库中捕获,但我想防止重复。那么我该如何解决呢?还是应该检查电子邮件重复项?
编辑 据我所知,pinnaclecart将uid设置为primary。所以将它设置为唯一不是“危险”吗?
名字和姓氏都很好,但是除了唯一之外,其他一切都没有。我认识几个与我同名的人,因此我猜想在这两列上建立唯一索引只会令人沮丧,而无济于事。但是,使我与众不同的是,我是唯一同时拥有我的电子邮件地址和密码的人,因此,我认为这是一个更好的候选人。
ALTER TABLE users ADD UNIQUE unique_emailaddress ( email );
这至少应该对某些重复项有所帮助,但不是对所有重复项都有帮助:用户可能有多个电子邮件地址(我知道我是这样做的;)),但它仍然比名字和姓氏(不是唯一的)的任意组合更好完全没有。