我正在使用DataTables和jEdtiable根据用户输入更新我的SQL数据库。
传递给我的PHP文件的数据是:
row_id = HTML表格中ID列的数据,也是我的SQL数据库中的主键。
column =已编辑的列的索引
value =要在表格上更新的新值
我需要使用SQL查询更新表,但是我无法找到在查询中使用列索引的方法来更新正确的行/列?
答案 0 :(得分:1)
您需要将列索引映射到列名。您可以通过几种不同的方式进行此映射:
<强>静即可。在服务器上的PHP代码中,存储一个如下所示的数组:
$columnMap = array(0 => 'column_1_name', 1 => 'column_2_name');
然后使用该数组来计算要在SQL查询中使用的列名:
$columnName = $columnMap[$column]; // where $column is the column index passed to the PHP file.
最后,在更新SQL查询中使用列名和值。确保正确转义该值以防止SQL注入。
这种方法的缺点是,如果更改数据库表结构,则还必须更新代码中的数组。如果您可以使用下面描述的第二种方法,则此限制将消失。
<强>动态即可。根据您用于连接数据库的内容(PDO,某些数据库框架等),应该有一些方法可以返回数据库中表的结构。您可以使用这些方法按顺序检索表的列名,并动态创建列映射数组。