我希望我错过了一些简单的东西。
我在js中创建了一个数组,比如: var ids = [1,2,3,4,5];
现在我想让这个数组填充我的sql数据库表中的一列。
我有管道设置,可以将单个元素添加到表中,如下所示:
通过ajax发送请求:
$.ajax({
type: "POST",
url: "some.php",
data: {
ids: ids,
}
});
``` `some.php` 接收数据(建立连接等): `$ids = $_POST['ids'];` sql用于向列col\u id插入单个值
$sql = "INSERT INTO mydb
.dbtable
(COL_ID
) VALUES ('$ids)";
此管道适用于单个值(例如 `ids = 2` 但对于数组失败。
我想要的是 `COL_ID` 将每个数组元素包含为一行
COL_ID |
---|
1 |
2 |
3 |
4 |
5 |
我怀疑它在sql查询中。欢迎任何帮助。
2条答案
按热度按时间ltqd579y1#
首先,使用准备好的语句,不要将post数据直接插入数据库查询。直接使用post数据意味着您容易受到sql注入攻击。
正如@danielreed所指出的,正确的格式是
您可以动态构建:
现在可以使用$sql作为查询,$ids作为准备语句的值。这会阻止sql注入。
0h4hbjxa2#
php将其作为数组接收。
sql语法需要以下语法:
所以你可以做的是: