2012-10-16 79 views
0

请帮忙找个错误:结果是查询是空的!我没有哪里的问题可能出现,其实我知道的东西可能是错误的mysql_querry:PHP MYSQL脚本错误

<?php 
include("connect.php"); 
?> 
<?php 
$result = mysql_query("SELECT PEOPLE.ID AS ID, 
          PEOPLE.NAME AS NAME, 
          TICKETS.TICKETID AS TICKET_NO, 
          RECEIPTS.DATENEW AS TICKET_DATE, 
          PAYMENTS.TOTAL AS MONEY, 
          CUSTOMERS.NAME AS CUSTOMER, 
          PAYMENTS.PAYMENT AS PAYMENT 
     FROM PEOPLE, RECEIPTS 
     INNER JOIN TICKETS ON RECEIPTS.ID = TICKETS.ID 
     INNER JOIN PAYMENTS ON RECEIPTS.ID = PAYMENTS.RECEIPT 
     INNER JOIN CUSTOMERS ON TICKETS.CUSTOMER = CUSTOMERS.ID 
     WHERE TICKETS.PERSON = '.$ID.'"); 
if ($num > 0) { 
$i=0; 
while ($i < $num) { 
     $ID = stripslashes(mysql_result($result,$i,"ID")); 
     $ID = stripslashes(mysql_result($result,$i,"ID")); 
     $NAME = stripslashes(mysql_result($result,$i,"NAME")); 
     $TICKET_NO = stripslashes(mysql_result($result,$i,"TICKET_NO")); 
     $TICKET_DATE = stripslashes(mysql_result($result,$i,"TICKET_DATE")); 
     $MONEY = stripslashes(mysql_result($result,$i,"MONEY")); 
     $CUSTOMER = stripslashes(mysql_result($result,$i,"CUSTOMER")); 
     $PAYMENT = stripslashes(mysql_result($result,$i,"PAYMENT")); 

    $row .= '<tr> 
    <td><a href="update.php?ID='.$ID.'">'.$ID.'</a></td> 
    <td><a href="update.php?NAME='.$NAME.'">'.$NAME.'</a></td> 
    <td><a href="update.php?TICKET_NO='.$TICKET_NO.'">'.$TICKET_NO.'</a></td> 
    <td><a href="update.php?TICKET_DATE='.$TICKET_DATE.'">'.$TICKET_DATE.'</a></td> 
    <td><a href="update.php?MONEY='.$MONEY.'">'.$MONEY.'</a></td> 
    <td><a href="update.php?CUSTOMER='.$CUSTOMER.'">'.$CUSTOMER.'</a></td> 
    <td><a href="update.php?PAYMENT='.$PAYMENT.'">'.$PAYMENT.'</a></td> 
    <td><a href="delete.php?ID='.$ID.'">Delete</a></td> 
    </tr>'; 

++$i; }} else { $row = '<tr><td colspan="2" align="center">Nothing found</td></tr>'; 
} 

mysql_close(); 
?> 
<table border="1" cellpadding="3" cellspacing="0"><? echo $row ?></table> 

我更appreciete您的支持!

+0

您在查询之前没有定义变量'$ ID',所以查询读取'TICKETS.PERSON ='''为空字符串。 –

+2

请注意,您不应该使用'addslashes()/ stripslashes()',并且应该关闭错误特征'magic_quotes_gpc' _off_。使用'mysql _ *()'API转义的正确方法是'mysql_real_escape_string()'。 –

+0

如何直接编写if($ num> 0)? $ num的价值是多少? – pkachhia

回答

2

$ID值为空您必须在其中指定值。

其次,您正在检查$num>0哪里但$num的价值是什么?

从我的角度来看,您正试图获取行取数。

+0

好吧,我修改WHERE TICKETS.PERSON = PEOPLE.ID”); 但没有改变 –

+0

什么是$ num?你是否试图检查获取行的计数?然后使用mysql_num_rows() –

+0

我用这个想法与其他类似的脚本和$ num> 0工作正常...我想与其他类似sript重复相同的情况,我得到EMTY查询 - 问题可能是在SQL的逻辑 –