PHP MYSQL脚本错误
请帮助查找错误:结果是查询为空!我不知道问题可能出在哪里,事实上我知道可能出了问题:PHP MYSQL脚本错误,php,mysql,Php,Mysql,请帮助查找错误:结果是查询为空!我不知道问题可能出在哪里,事实上我知道可能出了问题: <?php include("connect.php"); ?> <?php $result = mysql_query("SELECT PEOPLE.ID AS ID, PEOPLE.NAME AS NAME, TICKETS.TICKETID AS TICKET_NO,
<?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>
$ID
值为空,必须在其中赋值
其次,您正在检查$num>0
其中$num
的值是多少
在我看来,您正在尝试获取行数。在查询之前没有定义变量$ID
,因此查询读取带有空字符串的TICKETS.PERSON='
。请注意,您不应该使用addslashes()/stripslashes()
和mis功能magic\u quotes\u gpc
应关闭。使用mysql\u*()
API进行转义的正确方法是mysql\u real\u escape\u string()
。如何直接编写if($num>0)?$num的值是多少?请尝试在mysql控制台或phpMyAdminTanks中执行查询以获得建议:在PHPMYADMIN中,查询可以使用WHERE TICKETS.PERSON=PEOPLE.ID“)确定,我修改了WHERE TICKETS.PERSON=PEOPLE.ID”);但是没有任何改变$num中有什么?您正在检查提取行的计数吗?然后使用mysql_num_rows()我使用其他类似脚本的想法,$num>0工作正常。。。我想用其他类似的sript重复相同的场景,我得到了EMTY查询——问题可能在SQLecho的逻辑中“选择PEOPLE.ID作为ID,PEOPLE.NAME作为NAME,TICKETS.TICKETID作为TICKET\u NO,RECEIPTS.DATENEW作为TICKET\u DATE,PAYMENTS.TOTAL作为MONEY,CUSTOMERS.NAME作为CUSTOMER,PAYMENTS.PAYMENT作为PEOPLE的付款,收据内部加入收据上的票证。ID=TICKETS.ID内部加入收据上的付款。ID=PAYMENTS.RECEIPT内部加入收据上的客户。CUSTOMER=CUSTOMERS.ID其中TICKETS.PERSON='.$ID.“//打印此内容,然后使用结果检查查询错误:语法错误,意外的'=',应为''',或';'在G:\home\localhost\test.php中