2012-10-16 83 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的邏輯 –