繁体   English   中英

内部联接在PHP中不起作用,但是在phpMyAdmin SQL中起作用

[英]inner join not working in PHP, but working in phpMyAdmin SQL

我有一个MySql查询,该查询未在PHP中返回正确的值,但是如果我在phpMyAdmin中运行相同的MySql查询,则它将返回一个值。 如果我在网络浏览器中显示选择,则会在其结尾显示“资源ID#27”。

PHP代码

$SQL_PhotoQueryList = "SELECT count(*) FROM `invoice_detail`".
                      " INNER JOIN `photos` ON invoice_detail.photo_id = photos.photo_id".
                      " INNER JOIN `invoice` ON invoice_detail.invoice_id = invoice.invoice_id".
                      " WHERE invoice.invoice_active = '$PassStatus' AND photos.user_id = '$SessionUserID'".
$SQL_PhotoResultList = mysql_query($SQL_PhotoQueryList);    
$ListPhotoCount      = mysql_result($SQL_PhotoResultList,0);
echo "SQL Query = $SQL_PhotoQueryList<br>";
echo "ListCount = $ListPhotoCount<br>";

屏幕输出

SQL Query = SELECT count(*) FROM `invoice_detail` INNER JOIN `photos` ON invoice_detail.photo_id = photos.photo_id INNER JOIN `invoice` ON invoice_detail.invoice_id = invoice.invoice_id WHERE invoice.invoice_active = '2' AND photos.user_id = '2'Resource id #27
ListCount = 0

代码调用例程($ SessionUserID是$ _SESSION变量)

   $PassStatus = "2"; // Active
   require("get_invoice.php");
   $InfoTotalSales = $ListGalleryCount;

看来您有错字。

$SQL_PhotoQueryList = "SELECT count(*) FROM `invoice_detail`".
                      " INNER JOIN `photos` ON invoice_detail.photo_id = photos.photo_id".
                      " INNER JOIN `invoice` ON invoice_detail.invoice_id = invoice.invoice_id".
                      " WHERE invoice.invoice_active = '$PassStatus' AND photos.user_id = '$SessionUserID'".
$SQL_PhotoResultList = mysql_query($SQL_PhotoQueryList);    
$ListPhotoCount      = mysql_result($SQL_PhotoResultList,0);
echo "SQL Query = $SQL_PhotoQueryList<br>";
echo "ListCount = $ListPhotoCount<br>";

注意查询的最后一行的句号(实际上是串联运算符):

                      " WHERE invoice.invoice_active = '$PassStatus' AND photos.user_id = '$SessionUserID'".

这应该是一个分号。 是的,我也做到了。 有时最难发现的错误。

最后的资源ID来自mysql_query()的结果。

暂无
暂无

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

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