Tipi onlu için PDO :: PARAM?

4 Cevap php

Ben 2 veritabanı alanları var

`decval` decimal(5,2)
`intval` int(3)

Ben bunları güncelleştirmek 2 pdo sorguları var. Int güncelleştiren bir ok çalışıyor

$update_intval->bindParam(':intval', $intval, PDO::PARAM_INT);

ama ben ondalık alanı güncelleştirmek olamaz. Aşağıda 3 yolu denedim, ama hiçbir şey çalışır

$update_decval->bindParam(':decval', $decval, PDO::PARAM_STR);
$update_decval->bindParam(':decval', $decval, PDO::PARAM_INT);
$update_decval->bindParam(':decval', $decval);

Bu sorunun veritabanı türü decimal ile görünüyor? Bir PDO::PARAM türünde bir alan için var mı decimal? Eğer değilse, ben bir çözüm olarak ne kullanıyorsunuz?

4 Cevap

Herhangi yoktur PDO::PARAM ondalıklar / yüzer için, kullanmak gerekecek PDO::PARAM_STR.

Ben üçüncü argümanını (yani PDO :: PARAM_ *) vermezseniz eğer sihirli bir tür kullanır ve doğru sayısını saklayan ki, PDO kullanarak DOULBEs depolamak bir yol arıyorsanız, öğrendim. Yani sadece parametre türü hakkında endişe ve neşeyle bağlamak için PDO sol belki eğer: decval bir $ decval ve sonraki görev :-) için birlikte hop)

UP olmalı aynı PDO :: PARAM_STR kullanın ve veritabanındaki sütun türü SAYISAL (M, D) veya ondalık (M, D) ise M karakterler hassas sayı olduğunu gözetilmesi gerektiğini belirterek gerekir Girdiğiniz ve D ondalık basamak sayısı karakter toplam. Örnek NUMERIC'in (10,2) biz doğruluk yerler ve iki ondalık basamağa 8. evler var. Bu yüzden ondalık basamak için ayrılmış 2 ile toplam 10 karakter var.

ayırıcı için nokta yerine virgül kullanılır?