为什么我的SQL LEFT JOIN查询不起作用?

cre*_*eam 1 mysql sql select left-join

当应该有一些结果时它返回0行.

这是我第一次尝试使用JOIN,但从我所看到的这看起来非常正确,对吧?

"SELECT pending.paymentid, pending.date, pending.ip, pending.payer, pending.type, pending.amount, pending.method, pending.institution, payment.number, _uploads_log.log_filename 
FROM pending 
LEFT JOIN _uploads_log 
ON pending.paymentid='".$_GET['vnum']."' 
AND _uploads_log.linkid = pending.paymentid"
Run Code Online (Sandbox Code Playgroud)

我需要返回两个pending.paymentid_uploads_log.log_filename等于的每个表中的指定值$_GET['vnum]

这样做的正确方法是什么?为什么我没有得到任何结果?

如果比我更有经验的人能指出我正确的方向,我会非常感激.

编辑

对于pending主键paymentid,_uploads_log主要是被调用的col log_id并且log_filename被列为索引.

Joh*_*Woo 5

试试这个

 SELECT  pending.paymentid, 
         pending.date, 
         pending.ip, 
         pending.payer, 
         pending.type, 
         pending.amount, 
         pending.method, 
         pending.institution, 
         payment.number, 
         _uploads_log.log_filename 
FROM     pending 
         LEFT JOIN _uploads_log 
              ON _uploads_log.linkid = pending.paymentid
WHERE   _uploads_log.log_filename = '" . $_GET['vnum']  . "' 
Run Code Online (Sandbox Code Playgroud)

您的当前查询易受SQL注入攻击.请花点时间阅读下面的文章.

在PHP中防止SQL注入的最佳方法?