我有一个基于PHP的应用程序,用于存储用户输入的发票。目前我将发票金额存储在MySQL数据库表中,如double
所示:
+------+--------------+--------------+----------------+----------------+-------------+-----------+---------------+-------------+-------------+-----------------+
| id | date_entered | invoice_date | invoice_number | invoice_amount | client_type | unique_id | supplier_type | supplier_id | category_id | childcare_hours |
+------+--------------+--------------+----------------+----------------+-------------+-----------+---------------+-------------+-------------+-----------------+
| 1 | 1411098397 | 1411048800 | 123 | 0.01 | 0 | 137 | 0 | 139 | 5 | NULL |
| 2 | 1412123404 | 1416920400 | 5093 | 130 | 0 | 168 | 0 | 19 | 18 | NULL |
| 3 | 1412125933 | 1412085600 | 000 | 79 | 0 | 151 | 0 | 177 | 8 | NULL |
| 4 | 1412645652 | 1412600400 | 000 | 60.8 | 0 | 104 | 0 | 179 | 9 | NULL |
| 5 | 1412647563 | 1409320800 | 804560 | 225.5 | 0 | 18 | 0 | 174 | 10 | NULL |
我也在使用DataTable来组织数据。我正在使用服务器端处理来执行数据查找以返回为JSON。
我遇到的问题是用户正在尝试通过键入$123
或123.50
按价格进行搜索这不起作用,因为SQL正在生成如下:SELECT * FROM invoices WHERE invoice_amount LIKE "%$123%";
由于数据作为double存储在数据库中,这显然是失败的。
我的问题是,无论客户端输入什么内容,有没有办法让SQL(或者可能PHP)搜索正确的值?