【问题标题】:Writing to MySQL from a PHP array in a for loop在 for 循环中从 PHP 数组写入 MySQL
【发布时间】:2013-06-16 04:19:28
【问题描述】:

我在将 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 查询中不以这种方式引用数组元素吗?

【问题讨论】:

标签: php mysql sql arrays for-loop


【解决方案1】:

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

$query = "INSERT INTO characters VALUES ('{$this->code[$counter]}')";

【讨论】:

    猜你喜欢
    • 2011-01-26
    • 2020-08-07
    • 1970-01-01
    • 2017-08-31
    • 2015-11-07
    • 2012-06-19
    • 2016-09-30
    • 2017-02-07
    • 1970-01-01
    相关资源
    最近更新 更多