我正在尝试比较电子邮件,地址和预订。
我想要的是如果电子邮件地址=所选书籍会引发错误。
换句话说,如果所选书籍是先前选择的同一本书,则会抛出错误。那个人不能两次选择同一本书。那个人可以选择多本书而不是同一本书。
$sql = "SELECT * FROM thetable WHERE `emailaddress` = '{$emailaddress}'
OR `mailaddress` = '{$mailaddress}' OR `bookselected` = '{$bookselected}' ";
我尝试了OR但是如果使用相同的电子邮件或地址,则无论是否选择了不同的书,都会抛出验证错误。验证表明您之前已输入。
我尝试了AND但是在使用它时由于某种原因它绕过了验证。
有人可以帮助这个sql语句吗?
答案 0 :(得分:0)
我不确定我是否理解您的问题,但如果您正在检查某人是否已经使用相同电子邮件地址和 mailaddress 选择了某本书,那么您的查询应该是是:
$sql = "SELECT * FROM thetable WHERE `emailaddress` = '{$emailaddress}'
AND `mailaddress` = '{$mailaddress}' AND `bookselected` = '{$bookselected}' ";
请注意AND
而不是OR
。
您可能没有提及的一件事是,您是否应该能够在邮件和电子邮件之间的一个字段上检查仅,如果查询应该是:
$sql = "SELECT * FROM thetable WHERE
(`emailaddress` = '{$emailaddress}' AND `bookselected` = '{$bookselected}')
OR
(`mailaddress` = '{$mailaddress}' AND `bookselected` = '{$bookselected}') ";