MySQLi JOIN hazırlanan deyiminin sonucunu dönen değil

1 Cevap php
function fullJoinTest()
{
    $con = ModelBase::getConnection();
    $sql = "SELECT airline, airport
            FROM airlines
            LEFT JOIN airports on airlines.icao_code = airports.icao_code";
    $query = $con->prepare($sql) or die("Error preparing sql in Search (test) ");

    $query->execute() or die("Error executing query in Search (test) ");

    error_log($query->num_rows);
}

Şimdi o geri dönen oluyor satır sayısı için 0 dönen tutar. Ben phpMyAdmin içine aynı sorguyu fiş zaman beklenen sonuç kümesi döndürür.

MySQLi Joın güzel oynar mı? Bu dolaşmak için başka bir yolu var mı? Sonunda o çok daha katılır ve bazı WHERE hükümler olacaktır. Ben hazırlanmış deyimleri kullanmaya devam etmek istiyorum.

1 Cevap

You have not yet read the rows, so it doesn't know how many were produced. call $query->store_result(); to buffer the rows into memory.

http://www.php.net/manual/en/mysqli-stmt.num-rows.php

http://www.php.net/manual/en/mysqli-stmt.store-result.php