У меня есть входящий текст в этом формате:
POS;OS0101001;123456;ATAKUMOSA EAST;IWARA;TOWN HALL IWARA;755;650;50;10;10;10;15;245;5;Peacefully conducted ;2018-08-26 07:05:40
Что я хочу, так это взорвать текст примерно так:
$officer_id = $details[1];
$userpassword = $details[2];
$lga = $db->real_escape_string($details[3]);
$ward = $db->real_escape_string($details[4]);
$poll_unit = $db->real_escape_string($details[5]);
$incident_type = $db->real_escape_string($details[6]);
$incident_priority = $db->real_escape_string($details[7]);
$incident = $db->real_escape_string($details[8]);
$device_entry_date = $details[9];
Я действительно пытался взорвать его, но после разрыва я попытался вставить его в базу данных, но он вставлял пустые значения.
Что я пробовал до сих пор:
$dir = strtolower(trim(preg_replace('/\s+/', ' ', substr(trim($_REQUEST['Body']),0,3))));
$msg = substr(trim($_REQUEST['Body']),0,3);
if($dir == 'inc'){
onIncidentReport($phone,$date,$msg);
}
Чтобы вставить в базу данных, у меня есть это:
function onIncidentReport($phone,$date,$msg){
global $db;
$split = explode(";", $msg);
$details = strtoupper($split[count($split)-1]);
$officer_id = $details[1];
$userpassword = $details[2];
$lga = $db->real_escape_string($details[3]);
$ward = $db->real_escape_string($details[4]);
$poll_unit = $db->real_escape_string($details[5]);
$incident_type = $db->real_escape_string($details[6]);
$incident_priority = $db->real_escape_string($details[7]);
$incident = $db->real_escape_string($details[8]);
$device_entry_date = $details[9];
$sql = "SELECT * FROM master where (phoneNo = '$phone') and regstatus = 1";
$st = mysqli_query($db,$sql);
$num = mysqli_num_rows($st);
$PtaW = mysqli_fetch_assoc($st);
if($num==1){
$sql = "UPDATE master SET incmsg = '$incident', incstatus = '$incident_priority', incdate = '$date',
incpriotise = '$incident_priority' where (phoneNo = '$phone' OR phonetwo = '$phone') and regstatus = 1";
$st = mysqli_query($db,$sql);
$sql = "INSERT INTO incident
(lgName,phoneNo,msg,status,date)
VALUES ('$lga','$phone','$incident','$incident_priority','$date')";
$Query = mysqli_query($db,$sql);
if($st || $Query){
?>
<Response>
<Message>
SUCCESSFULLY SENT.
</Message>
</Response>
<?php
}
}else {
?>
<Response>
<Message>
YOU ARE NOT AUTHORISE TO USE THIS SERVICE.
</Message>
</Response>
<?php
}
}
Я перепробовал все, что мог. Сделал некоторые исследования в Интернете, но до сих пор не могу понять.
Пустые значения вставлялись в базу данных каждый раз, когда я пытался ее вставить.