我使用PHP將數據從聯機表單發佈到數據庫中,表單中的一些字段是複選框。我最初將複選框的數據類型定義爲BIT,但是在選擇複選框並提交表單後,當我查看數據庫時,這些值都是'b'。然後我將數據類型設置爲BOOLEAN,並將其自身切換爲TINYINT。但是,選擇複選框/提交表單後,數據庫中的值全部爲'0'。我期待看到一個'1',它對應於已經選擇的複選框,但是這沒有發生。我究竟做錯了什麼?謝謝!在php中處理Tinyint
0
A
回答
2
您很可能會將複選框的checked
值傳遞給您的數據。複選框不使用true/false,而是使用"checked"
或空白。你可以做這樣的事情:
$value = ($checked == "checked" ? 1 : 0)
1
你是,在這裏某處,將字符串轉換爲整數。當你在PHP中這樣做時,結果可能是0(see this)。我不確定MySQL,但我懷疑它以大致相似的方式處理操作。
來處理這個問題的方法,我會說,是讓你的複選框這樣定義:
<input name="mycheckbox" type="checkbox" value="1" />
然後,在PHP中,讓你插入到這樣的數據庫中的值:
$myCheckBoxIsChecked = (!empty($_POST['mycheckbox'])) ? 1 : 0;
然後,您可以使用$myCheckBoxIsChecked
直接在查詢中,沒有禁制 - 因爲你知道,它永遠只能有1
或0
的值。
+0
Thanx工作.. – user1097946 2011-12-14 16:00:31
相關問題
- 1. 在php中unsigned tinyint?
- 2. 使用MVC處理tinyInt布爾值
- 3. 在PHP中處理
- 4. 處理在PHP
- 5. 處理在PHP
- 6. 在PHP中處理異常
- 7. 在PHP中處理錯誤
- 8. 在PHP中處理錯誤
- 9. 在PHP中並行處理
- 10. 在PHP中處理日期
- 11. 在PHP中處理錯誤
- 12. 在PHP中處理cURL
- 13. 在php中處理Parlel
- 14. 在php中處理文本
- 15. QUERY_STRING在PHP中處理
- 16. 在php中處理數組
- 17. 在php中處理數組?
- 18. MySQL的TINYINT(1)與TINYINT(2)對TINYINT(3)與TINYINT(4)
- 19. 回覆tinyint在WordPress管理頁面
- 20. TINYINT
- 21. PHP中的PHP DECIMAL處理
- 22. 批處理圖像處理cronjob在php
- 23. php:在異常處理程序中處理異常?
- 24. 處理PHP
- 25. 處理從PHP
- 26. URL處理PHP
- 27. PHP http處理
- 28. PHP cookie處理
- 29. PHP空處理
- 30. 處理/操控/ PHP中
請顯示您的代碼。 – Polynomial 2011-12-14 14:00:21