Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 需要帮助创建带有两个IN语句的sql查询吗_Php_Mysql - Fatal编程技术网

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());