繁体   English   中英

计数SQL查询PHP

[英]Count SQL query PHP

我想为其中的每个图库计数,这是我的查询:

$req = db_query("SELECT count(*) FROM node,node_file WHERE node.nid = node_file.nid AND nid = ".$value['nid']);

这是两个表:
node_file:

nid  |fid   |
-------------
  1  |  1   | 
-------------
  1  |  2   |  
-------------
  1  |  3   |
-------------
  2  |  1   |
-------------
  2  |  2   |
-------------
  2  |  3   |

节点:

 nid |type  |
-------------
  1  |Gallery1| 
-------------
  2  |gallery2|  

错误: Query : SELECT count(*) FROM node,node_file WHERE node.nid = node_file.nid AND nid = 34 Message : SQLSTATE[23000]: Integrity constraint violation: 1052 Column 'nid' in where clause is ambiguous

谢谢!

您的两个表都具有列nid并且您正在使用AND子句中的列,因此您需要指定它属于哪个表。

SELECT 
    count(*)
FROM
    node,
    node_file
WHERE
    node.nid = node_file.nid AND node.nid = 34

要么

SELECT 
    count(*)
FROM
    node,
    node_file
WHERE
    node.nid = node_file.nid AND node_file.nid = 34

用这个

$req = db_query("SELECT count(*) FROM node,node_file WHERE node.nid = node_file.nid AND node.nid = ".$value['nid']);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM