【问题标题】:PhP TextArea each line with explode and foreach postgresqlPhP TextArea 每行带有explode和foreach postgresql
【发布时间】:2012-07-16 21:07:19
【问题描述】:

这是一个非常简单的问题。我有一个文本区域。在此文本区域中是名称。新行中的每个名称。

Brad Pitt
LMFAO
Green Day

等等……

我想把这些名字放到数据库中。我用explode() 和foreach 试过了,但是没用。 :/

代码如下:

$kilencedik=array();
$kilencedik=explode('\n',$_POST['9']);
foreach($kilencedik as $nev9) {
    $adat9 = pg_escape_string($nev9);
    pg_query($kapcsolodas, "INSERT INTO diakok (nev, ev) values ('$adat9', '9')");
}

我正在使用带有 PHP 的 postgreSQL。

【问题讨论】:

  • 您是否尝试过实际查看该变量中的内容?
  • 您的文本区域的名称不应是数字
  • 该变量具有: kilencedik[0] = Brad Pitt kilencedik[1] = LMFAO kilencedik[2] = 使用 PHP_EOL 函数的绿日。但是如果一个名字有“á”或“ő”字符,它就不起作用:S

标签: php postgresql foreach textarea explode


【解决方案1】:

将 '\n' 更改为 "\n" 是个问题。

【讨论】:

    【解决方案2】:

    尝试使用explode(PHP_EOL, $_POST['9']);

    使用 PHP_EOL 跨平台兼容性更好。

    如果您不想使用它,您至少需要在 \n 周围使用双引号而不是单引号。使用双引号,PHP 会将其解释为换行符,而使用单引号将查找文字 \n 作为要爆炸的字符串段。

    【讨论】:

    • 不知道为什么这被否决了。通常最好的做法是使用此常量而不是 "\n" "\r\n" 或其他。
    • 它可以工作,但只有英文字母。 :/ 如果名称中有“á”或“ő”字母,则无法使用。
    猜你喜欢
    • 2015-12-08
    • 2014-01-09
    • 1970-01-01
    • 2013-03-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-11
    • 1970-01-01
    • 2014-06-19
    相关资源
    最近更新 更多