2010-09-18 74 views
1

我想在插入數據庫之前驗證數值對象所包含的數據(例如,在插入varchar(255)類型的列之前檢查php字符串是否小於255個字符或者未插入字符串在int(11)表列中,php日期格式正確等)。在插入數據庫之前驗證數據

是否有任何框架或簡單的方法之前SQL INSERTUPDATE操作來驗證數據?

謝謝!

+0

是否有某些原因需要在PHP中完成,而不是使用數據庫的功能,可以保持參照完整性,檢測格式錯誤並在發生問題時發出警告? – Blrfl 2010-09-18 01:01:02

+1

很好用,問題是,DB刀片將修剪的輸入,如果它太長,而且會有沒有辦法報告給用戶。我想驗證數據,然後在視圖中顯示錯誤,而不是靜靜地保存修剪/可能損壞的數據。 – Cat 2010-09-18 01:15:12

+0

http://stackoverflow.com/questions/3739900/validating-data-before-inserting-into-database – 2012-08-13 05:18:10

回答

2

是否有任何框架或簡單的方法來SQL INSERT之前 驗證數據或 UPDATE操作?

php有validation內置的數據filter包。 我不建議你使用一個複雜的框架,對於這一點,因爲這將沒有任何實際利益殺了你的表現。

+0

這是迄今爲止最好的解決方案。我不知道PHP中有驗證函數。非常感謝! – Cat 2010-09-18 01:22:05

+0

呵呵您的歡迎;)。如果這是最好的解決方案,你應該接受它;)(也許以後有更多的答案後) – Alfred 2010-09-18 01:31:01

+0

現在一個有趣的問題是如何驗證嵌套的POST數組。所以說我有一個包含多個陣列的陣列,我用filter_input_array遞歸還是有一個更優雅的解決方案? – Cat 2010-09-18 02:18:26