所以阵列出现了我想要的方式 数组的任何示例,其大小可能不同,并且具有类似'< \ /在下面
$TablesNames
Array
(
[0] => SampleDate
[1] => LAB
)
$LineResults
Array
(
[0] => 4/08/2014
[1] => Micro - Water
)
我试图插入值
的代码摘要$sqlTableNames = (implode(',',$TableNames));
for ($x=0; $x<$Xsize; $x++)
{
for($y=0;$y<$MapSize;$y++)
{
$LineResults[$x][$y] = $results[$x][$map[$y]];
}
$sqlLineResults = (implode("','",$LineResults[$x]));
$ResultsInsert = $db->prepare("INSERT INTO samples (:TableValues) VALUES (:LineValues)");
$ResultsInsert->bindParam(':TableValues', $sqlTableNames, PDO::PARAM_STR);
$ResultsInsert->bindParam(':LineValues', $sqlLineResults, PDO::PARAM_INT);
$ResultsInsert->execute();
}
引发错误“......在'附近使用正确的语法'?)第1行的VALUES(?)'..”
答案 0 :(得分:1)
这里有两个问题:
因此VALUES
子句的两边都是错误的。
您需要动态构建sql语句,单独添加键值对(或两侧的字符串)。由于您无法绑定表名和列名,因此如果输入来自访问者,则应使用白名单。