日期:2014-05-17  浏览次数:20582 次

php mysql 多表查询 查询不出结果?
我的代码如下:
PHP code

<?php
/*connect database*/
$link=mysql_connect("192.168.XX.XX:3306","root","root") or die("Could not connect");
print "Connected successfully";
mysql_select_db("jiradb") or die ("Could not select database");
mysql_query("set names 'utf8'");

/*execte SQL query*/
$query="SELECT  b.pname,a.pkey,a.summary,a.assignee
FROM jiraissue a, issuetype b,project c
WHERE a.project=c.ID and b.ID=a.issuetype 
and c.pname='TEST';";
$result=mysql_query($query,$link) or die("Query failed");

/*print result in html*/

MySQL_num_rows($result);
while($row=mysql_fetch_array($result))
{echo $row[0];
}

/*release resource */
mysql_free_result($result);

/*close link*/
mysql_close($link);
?>


结果就只显示
Connected successfully 
如果用
PHP code
$query="select * from jiraissue";

就会显示相应的内容

php mysql多表查询该怎么写?上面哪里出错了?

------解决方案--------------------
没有表结构和真实数据,没有真相。
你装一个phpmyadmin,在里面执行看看。
------解决方案--------------------
echo $row[0];

这里改成 var_dump($row); 看看是否返回数据集正确
------解决方案--------------------
c.pname='TEST';";
 不用把这个分号也复制进来
------解决方案--------------------
给点提示:
select co_balance,co_isstaff,staff_group_id,count from
(select co_balance,co_isstaff from dt_co where co_id=156) a,
(select staff_group_id from dt_staff where co_id = 156) b,
(select count(*) as count from dt_staff where staff_shouyetuijian = 1 and co_id = 156) c 

这是链接用了
dt_co 和 dt_staff 做的查询
------解决方案--------------------
把你的sql指令在phpmyadmin执行能查出结果吗?
------解决方案--------------------
你把你这个语句拿到数据库里面跑一下不就知道有不有问题了
------解决方案--------------------
先用mysql_error()和mysql_errno()看看错误提示!
------解决方案--------------------
把php文件的编码统一为数据库的编码试试看。 可能是编码不一致导致的误差。
------解决方案--------------------
PHP code


$result=mysql_query($query,$link) or die("Query failed");
echo "1 ".mysql_error();

/*print result in html*/

MySQL_num_rows($result);
echo "2 ".mysql_error();
while($row=mysql_fetch_array($result))
{echo $row[0];
echo "3 ".mysql_error();
}