Php 需要帮助创建带有两个IN语句的sql查询吗
我需要一个包含两个Php 需要帮助创建带有两个IN语句的sql查询吗,php,mysql,Php,Mysql,我需要一个包含两个IN()语句的查询 当然,以下是完全错误的,但这正是我想要的: <?php $query = mysql_query("SELECT 1.field1, 1.field3, M.field2 FROM table 1, table2 2 WHERE 1.field1=2.field2 and 1.field3 IN (0,1)AND 1.field2 IN (5,2)) or die(mysql_error()); ?> 应该有用。值得注意的是,您使用的是旧式联
IN()
语句的查询
当然,以下是完全错误的,但这正是我想要的:
<?php
$query = mysql_query("SELECT 1.field1, 1.field3, M.field2 FROM table 1, table2 2 WHERE 1.field1=2.field2 and 1.field3 IN (0,1)AND 1.field2 IN (5,2)) or die(mysql_error());
?>
应该有用。值得注意的是,您使用的是旧式联接语法(ANSI-89)。较新的标准ANSI-92已经过时20年了,您应该真正开始使用它
$query = mysql_query("
SELECT A.field1,
A.field3,
A.field2
FROM table A
INNER JOIN table2 B
ON A.field1=B.field2
WHERE A.field3 IN (0,1)
AND A.field2 IN (5,2)") or die(mysql_error());
数字作为表别名?听起来很危险。另外,没有结尾的引号表示这是一个PHP问题,或者纯粹是一个查询问题?我建议使用数字作为别名,同时我强烈建议您避免sql注入。看看准备好的陈述。第三个示例在数字中的使用只是一个示例MySQL文档示例仍在跟进。FWIW,您也可以在((0,5)、(1,2))中执行和(A.field3,A.field2)
,但不确定这是否是您想要的。@gillyspy感谢您的提示,我不知道该语法。
$query = mysql_query("
SELECT A.field1,
A.field3,
A.field2
FROM table A
INNER JOIN table2 B
ON A.field1=B.field2
WHERE A.field3 IN (0,1)
AND A.field2 IN (5,2)") or die(mysql_error());