NEREDE tüm satırları updateing beyanı konular

0 Cevap php

Ben "Şifremi değiştirmek" işlevselliği aynı değere TÜM kullanıcının parola sıfırlama benim app bir sorunu var. Ben kendi dışında hiçbir hata dışında bu korkunç hata bir yedekleme, yani hiçbir önemli sorun, restore.

Açıkçası bu hiçbir değere sahip UPDATE deyimi WHERE koşulu nedeniyle oldu. Bu CodeIgniter'daki aktif bir kayıt sorgusu yoluyla oldu. Bu sorunu önlemek için yerinde bir koruma vardı:

if( !is_numeric($userdata['client_id']) ) die('could not retrieve user ID from session');

A typeof($userdata['client_id']) Bu yüzden benim is_numeric onay amele para cezası olması gereken bir "string" olduğunu söylüyor. $ veri dizi oturumdan geliyor.

Client_id 0 ile kullanıcı yok, hepsi bir sayı değeri vardır.

Ben oturumu X dakika sonra onu açmış ve sonra formu göndererek kadar bekleyen, bu "parola değiştirme" sayfa erişen kullanıcı ile meydana gelmiş olabileceğini düşündüm. Ben kendimi bu denedim ve olması gerektiği gibi, sadece, giriş sayfasına beni yönlendirir.

Benim WHERE deyimi client_id_fk değere karşı $userdata['client_id'] eşleştirmeye çalışır. Bir veya iki test müşteri null client_id_fk var - böyle bir sınama istemci bu neden olmuş onların parola sıfırlama olabilir?

Eğer değilse, stumped. Herkes?

0 Cevap