PDO:创建动态插入语法错误

开发者没有假期

我正在做一个项目,该项目需要我进行数据库插入并填充很多列。我尝试使函数动态化,这样我就不必键入28个插入列,28个占位符,然后将28个值绑定到28个占位符...。在不久的将来,我可能想添加更多的列,因此这是我尝试设置的方式,整个函数和数组在这里要发布的内容太多了,因此我将使用一些伪代码来回答我的基本问题:

-在我的表单中,最多有28个输入,并且输入名称与数据库列名称相同-我的代码的基本部分如下(为缩短篇幅,部分内容被伪代码替换)

    <?php 
    //stacks holds 28 values in total
    $stacks = array('name1','name2','name3','blablabla','etcetera');

    // stacksDP is filled in a loop, 
    //contains the same as $stacks but it has a : 
    //in front of every value. 
    $stacksDP = array() // :name1',':name2', ....

    $data = array(); // $data[stack / columnname] = "whatever";

    $execArray = array();
    //$execArray is filled like this in a foreach loop on $stacks as $stack: 
    //$execArray[$stacksDP[$stack]] = $data[$stack];

// so far so good, but now I want to make the actual query and the following gives me a "Syntax error or access violation: 1064 You have an error in your SQL syntax;  "
        $sql = "INSERT INTO stackoverflowplaceholder (".implode("','",$stacks)." VALUES (";
        $sql .= implode(",",$stacksDP); // :columnname,
        $sql .=")";
        $q = $this->conn->prepare($sql);
        echo $q->execute($execArray);

在这个问题上的任何帮助将不胜感激:)甚至有可能是我想要在这里实现的吗?

克里斯85

)在爆裂之前,缺少缺少来关闭列分配。

$sql = "INSERT INTO stackoverflowplaceholder (".implode("','",$stacks)." VALUES (";

将会

$sql = "INSERT INTO stackoverflowplaceholder (".implode("','",$stacks)."  ) VALUES (";

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

PHP的MySQL插入语法错误

来自分类Dev

参数化插入语法错误。

来自分类Dev

MY SQL插入语法错误

来自分类Dev

MYSQL插入语法错误

来自分类Dev

SQL插入语法错误

来自分类Dev

SQL 插入语句语法错误

来自分类Dev

Postgres SQL插入语句中的语法错误

来自分类Dev

MYSQL-语法错误的插入语句

来自分类Dev

Phalcon-原始查询插入语法错误

来自分类Dev

MYSQL-带有语法错误的插入语句

来自分类Dev

插入语句中的语法错误。C#

来自分类Dev

SQLite中的语法错误(插入语句)

来自分类Dev

MySQL触发器:条件插入语法错误

来自分类Dev

语法错误:意外的令牌非法。请帮我插入语法

来自分类Dev

当只有一个变量时,python mysql插入语法错误

来自分类Dev

语法错误,插入语句中出现意外的''(T_ENCAPSED_AND_WHITESPACE)

来自分类Dev

C#Windowsform-插入语句时出现语法错误

来自分类Dev

语法错误插入语句的可视C#和ms访问

来自分类Dev

PHP PDO语法错误

来自分类Dev

使用jquery动态创建div会导致语法错误

来自分类Dev

语法错误:插入 LPAREN

来自分类Dev

使用PDO和SQL Server插入日期时出现“语法错误或访问冲突”

来自分类Dev

使用PDO和SQL Server插入日期时出现“语法错误或访问冲突”

来自分类Dev

PDO UPDATE:语法错误或访问冲突

来自分类Dev

SELECT查询的PDO语法错误

来自分类Dev

MySQL PDO查询语法错误?参数

来自分类Dev

PHP PDO更新SQL语法错误

来自分类Dev

PHP PDO MySQL语法错误

来自分类Dev

语法错误或PDO上的访问冲突