从textarea获取行并插入到mysql

时间:2015-03-06 20:58:28

标签: php mysql insert textarea

我一直在尝试使用textarea向mysql添加多行。 问题是我可以从文本框中获取所有行 我想用"将它们分成值。 | "作为分隔符。

                    $invalid = 0;
                    $inserted = 0;
                    $totalaccounts = 0;
                    $lista = $db->real_escape_string($_POST['textarea']);
                    $price = $db->real_escape_string($_POST['price']);
                    $lines = explode("\n", $lista);
                    while($lines){
                    foreach($lines as $line) {
                        $lines1 = explode(" | ", $line);
                        foreach($lines1 as $line1) {
                            $line1 = $db->real_escape_string($line1);
                            if($line1 == ""){
                                $line1 = "NONE";
                            }
                            unset($line1);
                        }
                        // SQL CHECK IF DUPLICATED $lines1[0] $lin....
                        $numrowz = mysqli_num_rows($sqlz);
                        if($numrowz >= 1) {
                            echo 'DUPLICATED: ' . $line1 . '<br />';
                            $invalid++;
                        }else{
                            // SQL INSERT CODE
                            $inserted++;
                        }   
                    }
                    }
                echo 'Total Accounts: ' . $inserted . '<br />';
                echo 'Total Duplicated/Expired: ' . $invalid . '<br />';
                echo 'Total Inserted: ' . $inserted . '<br /><br />';

                echo '<html><body><a href="continue.html">CLICK HERE TO CONTINUE</body></html>';
                }

这是我正在使用的代码,但我只需要添加一个就可以获得无限制的重复输入。 需要帮助:(

1 个答案:

答案 0 :(得分:1)

你有一个无限循环。只要while($lines) evaluates to true,我就会继续运行$lines,并且我没有在代码中看到控件变量($ lines)未设置或设置为false的任何位置。

我也没有看到你会从这样的while循环中受益的任何地方,因为你已经在$lines数组中循环。看起来你打算做一个有条件的,比如if ($lines) {