【发布时间】:2018-09-30 18:00:24
【问题描述】:
我想在一列中将我的数组数据插入数据库。
我在数据库中的列是id(auto increment) & datas。
我在这里尝试,我得到了错误。
我想要这样的数据
id(primary)(AI)(INT) datas(varchar:255)
-------- ----
1 3001182708
2 3001182713
3 3001183215
我尝试使用这个答案https://stackoverflow.com/a/10054725/9661872
$rand_post = ["3001182708", "3001182713", "3001183215", "3001183558", "3001183753"];
$prep = array();
foreach($rand_post as $k => $v ) {
$prep[':'.$k] = $v;
$sth = $db->prepare("INSERT INTO tes (`datas`) VALUES (" . implode(', ',array_keys($prep)) . ")");
$res = $sth->execute($prep);
}
致命错误:未捕获的 PDOException:SQLSTATE[21S01]:插入值列表 与列列表不匹配:1136 列数与值不匹配 在 C:\xampp\htdocs\savelink\index.php:23 中的第 1 行计数 堆栈跟踪:
0 C:\xampp\htdocs\savelink\index.php(23): PDOStatement->execute(Array) #1 {main} 抛出
C:\xampp\htdocs\savelink\index.php 第 23 行
【问题讨论】:
-
我认为不同的问题
-
您的表中
datas列的类型是什么? -
不清楚您在问什么,您想将所有这些数据插入一行吗?或者你想插入差异行。
-
@Pavel
varchar -
@JitendraSoftgrid 我正在编辑我的问题,希望你能理解