表名中有3列用户。在 zip_codes 中,有多个带逗号分隔的邮政编码。
id ZIP_codes user_email
1 123,785,333 a@gmail.com
2 785,241,123 v@gmail.com
现在我有另一个表名是学生。
id ZIP_code std_email
1 123 std1@gmail.com
2 241 std2@gmail.com
student.zip_code 来自 first.php , second.php ,它与 users.zip_codes <匹配/ strong>即可。现在如果 123 与其他表匹配,那么只有a@gmail.com和v@gmail.com应该来,并且应该来自241 v@gmail.com。
second.php 的代码是:
<?php
extract($_POST);
"SET @search = '$zip_code'";
$SQLSELECT = "SELECT * FROM users where REGEXP CONCAT('(^|,)(', REPLACE(@search, ',', '|'), ')(,|$)')";
$result_set = mysql_query($SQLSELECT) or die(mysql_error());
while($row = mysql_fetch_array($result_set))
{
extract($row);
echo $user_email;
}
?>
但它不起作用。
答案 0 :(得分:0)
我通过FIND_IN_SET()解决了我的查询。
SELECT * FROM users WHERE FIND_IN_SET($ zip1,zip_codes);