如何将破折号分隔的字符串插入我的数据库?

时间:2015-05-26 10:54:52

标签: php mysql string

我将此字符串作为输入字符串:

12345-45678-543245

因此,在我的数据库表中,我想插入这些短划线字符串,如下所示:

   part_id  |  Part numbers
------------------------------
   1        |     12345
   2        |     45678
   3        |    543245

我不知道怎么做?也许一些提示和建议会对我有帮助。

3 个答案:

答案 0 :(得分:3)

这应该适合你:

只需PDO::prepare()您的INSERT语句,然后循环浏览explode()&d; d输入并将值插入数据库。

<?php

    $input = "12345-45678-543245";
    $arr = explode("-", $input);

    $host = "localhost";
    $dbname = "myDBName";
    $user = "root";
    $password = "";

    try {

        $dbh = new PDO("mysql:host=$host;dbname=$dbname", $user, $password);
        $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

        $stmt = $dbh->prepare("INSERT INTO myTable (`part_id`, `Part numbers`) VALUES(?, ?)");
        foreach($arr as $k => $v)
            $stmt->execute([($k+1), $v]);

    } catch(PDOException $e) {
        echo $e->getMessage();
    }

?>

答案 1 :(得分:1)

$string  = '12345-45678-543245';
$array = explode('-',$string);
Foreach($array as $arr){
    //Here add to database...
}

但那是非常简单的PHP ... 请访问php.net获取更多信息¬.¬'

答案 2 :(得分:1)

您可以展开字符串以将其分成几个部分。

<?php
$string = "12345-45678-543245"

$parts = explode("-", $string);

$p0 = $parts[0];  //12345
$p1 = $parts[1];  //45678
$p2 = $parts[2];  //543245
?>