php - 是否可以在使用 php 的 mysql 查询的值部分中使用数组?
问题描述
是否可以使用 PHP 在以下类型的 mysql 查询中使用某种数组?
$query = "INSERT INTO $table_name ($table_columns) VALUES($my_array)";
情况:我正在创建一个库/包,允许用户将 csv 文件数据上传到 laravel 中的 mysql 数据库表中。
库/包将允许用户输入所需的表名并上传他们选择的 csv 文件。
数组最适合 VALUE 字段的原因是因为它将解决手动输入/更新 VALUE 参数的需要(因为根据表列计数,CSV 行参数计数可以是任何有问题的数字)。
解决方案
是的。这是可能的。如您所知,INSERT 查询的语法是:
INSERT INTO table (col1, col2) VALUES (1, 'ABC');
因此,您可以使用 implode 函数通过数组将数据插入 MySQL。
$table_name = "users";
$columns = implode(", ",array_keys($insData));
$escaped_values = array_map('mysql_real_escape_string', array_values($insData));
$values = implode(", ", $escaped_values);
$sql = "INSERT INTO $table_name ($columns) VALUES ($values)";
推荐阅读
- sql-server - 如何在 ssis 中将 dt_date yyyy-mm-dd 转换为 dt_date yyyy/MM/dd?
- java - “hasNextInt()”和“nextInt()”方法的顺序
- google-cloud-platform - 无法通过 cloudbuild 部署到 cloudrun
- python - Python:删除 CSV 中的“中间行”换行符
- python - 如何在我的 for 循环中修复此 AttributeError
- java - 如何为连接器编写单元测试?
- react-native - @React-native-community/react-native-device-info:NativeModule.RNDeviceInfo 为空。要解决此问题,请执行以下步骤: *Run 'react-native link
- php - 如何在搜索页面上删除确认表单重新提交
- azure - 无法在受限 Internet 中创建 Azure 资源组项目
- powershell - 如何以任何屏幕分辨率使 GUI 形式的图片始终位于中心?