我有一个功能可以让用户输入以逗号分隔的多个折扣代码。问题是如果用户key在一个有效key和一个无效key中,它仍然会通过系统,因为mysql_num_rows检测到db中的有效key大于0。
如何做到即使用户输入了多个有效密钥但一个无效密钥,它仍然会提示错误消息,它不会进入else语句。
$dc_input = $_POST['discount_code'];
$dc_delspaces = preg_replace('/\s+/', '', $dc_input);
$dc_array = explode(',', $dc_delspaces);
$row = mysql_query("SELECT * FROM discount_code WHERE disc_code IN('" .implode( "','", $dc_array )."')") or die(mysql_error());
if (mysql_num_rows($row) == 0){
$invalid_code = "<p style=\"color:red\"><b>Invalid Code!</b></p>";
}