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和MySQL从一个表中选择另一个表中不存在的记录_Php_Mysql - Fatal编程技术网

PHP和MySQL从一个表中选择另一个表中不存在的记录

PHP和MySQL从一个表中选择另一个表中不存在的记录,php,mysql,Php,Mysql,我有两个表,第一个叫做new_account,另一个叫做new_record 表new_account包含注册用户的信息,表new_record包含new_account表中已付款用户的信息以及他们已付款的月份 我希望能够根据输入的月份和年份查看尚未付款的用户。以下是我正在使用的PHP: $query= 'SELECT * FROM new_account LEFT OUTER JOIN new_record where month=$_POST

我有两个表,第一个叫做new_account,另一个叫做new_record

表new_account包含注册用户的信息,表new_record包含new_account表中已付款用户的信息以及他们已付款的月份

我希望能够根据输入的月份和年份查看尚未付款的用户。以下是我正在使用的PHP:

$query= 'SELECT * FROM   new_account LEFT OUTER JOIN new_record 
                      where month=$_POST[month] and year =$_POST[year] 
                      ON (new_account.mbere = new_record.mbere)
                      WHERE new_record.mbere IS NULL ';

从您的查询中我可以理解,这至少应该修复您的语法

$query= 'SELECT * 
FROM  new_account 
LEFT OUTER JOIN new_record ON new_account.mbere = new_record.mbere 
WHERE new_record.mbere IS NULL AND month='.$_POST['month'].' AND year = '.$_POST['year'].';

查询中不能有多个WHERE子句,因此我将它们分组在一起。我还修复了单引号的变量转义

语句的结构应如下所示:

SELECT * FROM new_account LEFT JOIN new_record ON new_account.mbere=new_record.mbere WHERE new_record.mbere IS NULL AND new_recor.month ='$_POST[month]' AND new_recor.year = '$_POST[year]'; 对此的查询应如下所示:

$month = $_POST[month]; $year = $_POST[year]; $query = "SELECT * FROM new_account LEFT JOIN new_record ON new_account.mbere=new_record.mbere WHERE new_record.mbere IS NULL AND new_record.month ='$month' AND new_record.year = '$year'";
请正确设置问题中的代码格式谢谢我已经完成了1你有2个WHERE子句,这是无效的语法。单引号内的2个php变量未被解析。我得到一个错误。您能帮我提供一个有效的查询吗?这也给了我一个错误:警告:mysqli_num_rows期望参数1是mysqli_resulty,而不查看您的数据,我只能修复查询语法。这个查询只是不返回任何数据。您是否打算用一些信息来改进您的问题,以解决内容部分?是否有其他方法可以使用?我试图获得的是位于new_account表中的用户,其付款信息在某个月份和年份不在new_record表中。您应该在new_record表中添加一个新的时间列,在该列中输入该条目。这可以通过php函数dateh:i:sa完成。然后,您应该按条件检查此列。那你就可以得到那个时候的那些没付钱的人。