1

我在将 PHP 数组的内容写入 MySQL 表中列的行时遇到了一些麻烦。不是每次都通过循环更新,而是一次又一次地将相同的东西插入数据库。

这是代码($code是一个字符数组,$code_length是它的长度):

for ($counter = 0; $counter < $this->code_length; $counter++){
    $query = "INSERT INTO characters VALUES ('$this->code[$counter]')";
    mysql_query($query, $db_server);
}

如果我这样执行它,它只会将第一个元素$code放在表格的每一行。但是,如果我只是将其更改为使用对 SQL 查询之外的数组元素的引用,它就可以工作。例如:

for ($counter = 0; $counter < $this->code_length; $counter++){
    $code_element = $this->code[$counter];
    $query = "INSERT INTO characters VALUES ('$code_element')";
    mysql_query($query, $db_server);
}

工作正常并将每个新元素$code放在一个新行中。

谁能看到我在第一个示例中做错了什么,或者您是否可以在 MySQL 查询中不以这种方式引用数组元素?

4

1 回答 1

1

您必须{}用于在查询中使用数组

$query = "INSERT INTO characters VALUES ('{$this->code[$counter]}')";
于 2013-06-19T14:55:25.337 回答