2010-08-05 27 views
3

我已經思考了很久,但我從未聽過解釋。我猜測MySQL的C API根本就不是用來構造原始類型的數據(這聽起來像是一個設計缺陷),或者原始的mysql驅動程序(由mysqli驅動程序取代)設計得很糟糕和mysqli驅動程序試圖向後兼容。爲什麼PHP的MySQL驅動程序不轉換數據類型?

我明白PostgreSQL在大多數情況下在PHP中強制轉換類型..爲什麼不使用MySQL?在其他語言和RDBMS中將所有值作爲字符串返回是否是一種常見做法?

+0

我知道你的意思,我想知道這個的一天。在將數據交給其他地方之前,我通常會用'(int)'等自己明確地做。 – alex 2010-08-05 13:31:51

回答

1

我認爲最初的MySQL驅動程序是在2000/2001年左右編寫的(可能更早?)。 PHP數據對象(PDO)類直到2004年才被編寫 - 但是這會告訴你PHP在很短的時間內覆蓋了多少地面。

當它起源(PHP)時,它不一定完全想到或計劃,但自那時起他們一直在分類。

也就是說,事實上,PHP是不是strongly typed programming language或許可以解釋爲什麼...

2

mysql已老。 mysqli更好('I'代表'改進'當然),PDO超出所有,至少知道bin/int/char差異。

相關問題