-3

私は初心者で、以下は私のSQLコードです。

select temp1.service_number,temp1.serial_number, temp1.start_datetime, temp1.plate_number, text , temp1.staff_id
from (select t.service_number,t.serial_number, start_datetime, plate_number, staff_id
from trip t
where t.staff_id = 3685
and start_datetime between '2012-01-01' and '2013-12-01') as temp1
left outer join 
(select r.service_number, r.serial_number, r.text
from remark r) as temp2
on temp1.service_number = temp2.service_number and temp1.serial_number = temp2.serial_number;

実行すると、7行が返されます。ただし、そのコードをphpで使用すると、

$querytrip = "select temp1.service_number,temp1.serial_number, temp1.start_datetime, temp1.plate_number, temp2.text from (select t.service_number,t.serial_number, start_datetime, plate_number, staff_id from trip t where t.staff_id = '$staffid' and start_datetime between '$sdate' and '$edate') as temp1 left outer join (select r.service_number, r.serial_number, r.text from remark r) as temp2 on temp1.service_number = temp2.service_number and temp1.serial_number = temp2.serial_number";
            $resulttrip = mysql_query($querytrip);

count($resulttrip) は 1 として返されます。

私を助けてください!

4

1 に答える 1

1

行数を取得するにはmysql_num_rows($resulttrip)、 ではなくを行いますcount($resulttrip)。各行を反復するには、次mysql_fetch_assocのように使用します。

while ($result = mysql_fetch_assoc($resulttrip))
{
  echo $result['service_number'];
}

, の代わりにmysql_fetch_arrayandを使用することもできます。mysql_fetch_rowmysql_fetch_assoc

MySQL Improved Extensionまたはを使用する必要がありますがPDO

于 2013-03-30T15:37:02.477 に答える