0
我花了一整天的时间使用Google和删除并试图实现此代码。我一直在尝试使用php和mysql来实现类似于reddit的网站。我一直在关注另一个问题:PHP MYSQL Query Algorithm Help,它工作得很好,位居行根据算法myphpadmin内对前一个问题的编码,当我查询的存储功能如何使用基于reddit的算法在存储函数的修改下查询选择所有的mysql行?
SELECT
*,
reddit_rank(`time_added`, `up_votes`, `down_votes`) as rank
FROM
`table`
ORDER BY
rank;
,但是当我查询粘贴到我的PHP文件:
<?php
include("config.php");
$q= "SELECT *,reddit_rank(`time` , `votes_up` , `votes_down`) FROM `wallposts` ORDER BY rank LIMIT 0 , 30";
$r = mysql_query($q);
if(mysql_num_rows($r) > 0) {
while($row = mysql_fetch_assoc($r)){
...?>
它不起作用,我得到一个白色的HTML屏幕。因此,例如在我的PHP时,我有
$q = "SELECT * FROM wallposts ORDER BY votes_up DESC";
我的reddit /脸谱似的墙已经预设了我的每一行mysql和一切正常工作。但是当我将其更改为
$q= "SELECT *,reddit_rank(`time` , `votes_up` , `votes_down`) FROM `wallposts` ORDER BY rank LIMIT 0 , 30";
即使我知道它在myphpadmin中有效,该网页只会返回一个白色屏幕。
我的语法有什么问题吗?或者是不可能使用存储的函数查询全部选择以在PHP中命令结果?
您需要更好地定义“不工作”。你有错误吗?它产生的结果是否与预期不同? – 2012-01-12 04:28:03
谢谢德文让我变得更清晰。我的意思是没有输出。所以例如在我的PHP中,当我有$ q =“SELECT * FROM wallposts ORDER BY votes_up DESC”;一切正常。但是当我将它改为$ q =“SELECT *,reddit_rank('time','votes_up','votes_down')FROM'wallposts' ORDER BY rank LIMIT 0,30”;该网页只会返回白色屏幕。 – tjones 2012-01-12 04:33:44
尝试在查询周围添加'try ... catch'并获取以处理任何异常并打印'mysql_num_rows($ r)'的值以查看是否返回任何内容。 – 2012-01-12 04:46:00