mysqli-> hazırlamak işlev null döndürür

3 Cevap php

Ben onu yeniden üretmek için basit bir yol yok çünkü bu korkunç bir sorudur. Ancak, ben bir mysqli nesne üzerinde Bazen OS X'te benim MySQL veritabanı hazırlamak işlevine bir çağrı bağlanmak için Zend Framework kullanarak ediyorum null döndürür. Hazırlamak fonksiyonu için belirtilen dönüş değerleri yanlış ya da bir deyim nesnesi vardır.

Ben hazırlamak deyimi neden başarısız üzerinde bilgi aramak için başka nerede bilemiyorum. Bu neden başarısız görmek için hazırlamak sürecinde görünürlük almak için herhangi bir yolu var mı? Bir işlem açıkken benim tüm sorunları geliyor.

Özelliklerini eksikliği için özür dilerim, ama bu neden oluyor ben gerçekten çivilemek olamaz.

3 Cevap

Example prepared statement
$result = $db->query( 'INSERT INTO server (key, value) VALUES (:key, :value)', array('key' => $foo, 'value' => $bar)

Eğer bize DB sorgusu söyleyebilir?

Deneyin ve test verileri ile DB sorgu yürütmek ve sorgu ile başlamak iyi çalıştığını görmek. Sorgu tamamsa kod neden başarısız sonra bakabilirsiniz.

Sadece ToughPal düzeltmek için, kullandığınız olmalıdır:

mysqli_query ($ db, "tablosunda (variable1, variable2) VALUES (merhaba, mynameis) INSERT INTO;

Eğer db bağlantı gerçek SQL önce ilk sorguda tanımlanan ve belirtilen olması gerektiğini unutmayın.

Tablo adı, sütun adları ve ters tırnak kaçar değer verilerini içine unutmayın.

Peki ben hafta sonu sorunu bulmak başardı ama neden belirtileri düzeltmek değil, gerçekten sadece başardı.

Sorun rasgele, aynı kod bazen iş ve bazen olmaz oluyordu çünkü orijinal sayısında herhangi bir SQL içermiyordu. Bir bellek işaretçi sorun gibi sorun görünüyor. Ben bir sorun vardı ne zaman Zend Debugger bir mysqli nesnesi olduğunu söyledi. Bunun üzerine hazırlamak işlevi çalıştırmak için çalışırken, aksi takdirde bir hata kazanılmış olurdu çünkü bu inanıyorum. Benim mysqli bağlantısı için bir kap gibi davranan bir tek nesne var ama işlevi başarısız hazırlamak zaman, === kullanılan mysqli benim tek nesne olarak mysqli bağlantı olarak aynı olmadığını gösterdi.

Sonunda, Zend Framework tek sorunu hazırlamak işlev null döndürür eğer başarısız olmamasıdır. Eğer bu sorun kullanımını görüyoruz eğer === bağlantı aslında daha önce başlatılan ettik biri olarak aynı olduğunu doğrulayın.