2015-05-26 2 views
-5

У меня есть эта строка в моей входной строки:Как вставить строку, разделенную штрихом, в мою базу данных?

12345-45678-543245 

Так в моей таблице базы данных я хочу, чтобы вставить эти тире разделенные строки, как следует:

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

Я понятия не имею, как это сделать? Возможно, некоторые подсказки и советы помогут мне.

+4

Вы что-то пробовали? – Rizier123

+0

Мне трудно отличить ввод с тире, а затем отдельно сохранить их и не знаю, как это сделать. –

+2

две вещи: разбить вашу строку, а затем подготовить инструкцию для множественной вставки в базу данных. – Masiorama

ответ

3

Это должно работать для вас:

Просто PDO::prepare() вашего заявления INSERT, а затем петлю через explode() «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
$string = '12345-45678-543245'; 
$array = explode('-',$string); 
Foreach($array as $arr){ 
    //Here add to database... 
} 

Но это очень простой PHP ... Пожалуйста, посетите php.net для получения дополнительной информации ¬.¬»

+0

спасибо! да забыл сначала искать, прежде чем задавать вопросы здесь –

1

Вы можете взорвать вашу строку, чтобы разделить его на части.

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

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

$p0 = $parts[0]; //12345 
$p1 = $parts[1]; //45678 
$p2 = $parts[2]; //543245 
?> 
Смежные вопросы