Mysqli deyim sorgudan bir dizi döndürür

1 Cevap php

Merhaba orada ancak ben () fetch_array benim kullanımını değiştirirken bazı sorun yaşıyorum, hazırlanmış mysql ifadeleri kullanmak için bir site dönüştürmek çalışıyorum.

Php.net üzerinde yorum Ben düşünce çalışması gerektiğini olurdu bir çözüm sunuyor ama () kimse bunu yapmanın daha iyi bir yol önerebilirsiniz call_user_func_array aracılığıyla bir işlevi çağırırken nedense garip tanımsız sabit hatalar alıyorum?

İşte ben şu anda kullanıyorum fonksiyon. Ben herhangi bir hata kopyalayıp yapılan ve yapıştırmadan ettik eğer öyleyse özür burada yazabilmek için biraz (mysqli uzanır ve vb alıcı hatayı işler daha büyük bir sınıfın bu kadar parçası) dumbed aşağı ettik.

public static function stmt_bind_assoc(&$stmt, &$out) {
    $data = mysqli_stmt_result_metadata($stmt);
    $fields = array();
    $out = array();

    $fields[0] = $stmt;
    $count = 1;

    while($field = mysqli_fetch_field($data)) {
        $fields[$count] = &$out[$field->name];
        $count++;
    }
    call_user_func_array(mysqli_stmt_bind_result, $fields);
}
public function fetch_array($rawQuery) {
    $stmt = $this->prepare($rawQuery);
    $row = array();
    self::stmt_bind_assoc($stmt, $row);
    $result = $stmt->fetch();
    $stmt->free();
    return $result;
}

Ben olsun hataları şunlardır:

"Notice: Use tanımsız sabit mysqli_stmt_bind_result arasında - 'mysqli_stmt_bind_result' varsayılır"

"Ölümcül hata: tanımsız yöntemi mysqli_stmt Çağrı :: ücretsiz ()"

Herkes bu hataları alıyorum ve onu nasıl düzeltebilirim neden anlatarak yardımcı olabilir?

EDIT: Burada php.net orijinal yorumun http://www.php.net/manual/en/mysqli-stmt.fetch.php#82742

1 Cevap

İlk hata call_user_func_array deyimi geliyor: Eğer aksi PHP bir sabittir varsayar, mysqli_stmt_bind_result tırnak gerekir.

Ve mysqli_stmt yerine $stmt->free_result() kullanmak hiçbir free() işlevi var.