안녕 얘들 아, foreach와 함께 오류를 처리하고 PHP에서 폭발. 왜 텍스트 영역의 처음 두 줄에서만이 문제가 발생하는지 알 수 없습니다.foreach 및 explode 처리 오류 PHP
내 코드는 다음
<?php
if(isset($_POST["button"])){
$btn=$_POST["button"];
if($btn=="Cargar horarios"){
$input = $conn->real_escape_string($_POST["lineas"]);
$linea = explode("NO ?", $input);
foreach($linea as $element){
$datos = explode(" ", $element);
$fecha = $datos[0];
$hora = $datos[1];
$empleado_key = $datos[2];
$sql = "SELECT * FROM jornada WHERE jornada_fecha='$fecha' AND empleados_key='$empleado_key'";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
$sql = "UPDATE jornada SET jornada_salida='$hora' WHERE jornada_fecha='$fecha' AND empleados_key='$empleado_key'";
if ($conn->query($sql) === TRUE) {
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
} else {
$sql = "INSERT INTO jornada (jornada_fecha, jornada_entrada, empleados_key) VALUES ('$fecha', '$hora', '$empleado_key')";
if ($conn->query($sql) === TRUE) {
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
}
}
}
}
?>
내가 텍스트 영역에 배치 텍스트를 한 다음
Undefined offset: 1 in /home/bgxryqet/public_html/sistema/horarios/cargar-horarios.php on line 88
Undefined offset: 2 in /home/bgxryqet/public_html/sistema/horarios/cargar-horarios.php on line 89
:
18/08/2016 08:00 34415 NO ?
18/08/2016 17:56 34415 NO ?
16/08/2016 07:56 34415 NO ?
16/08/2016 14:56 34415 NO ?
17/08/2016 07:56 34415 NO ?
17/08/2016 15:56 34415 NO ?
에이 다음과 같은 오류를 표시 제출 제출 후 그것은 내 DB에 빈 행을 만들고, firts 두 행이 제대로 작동하지 않습니다, 여기에 이미지입니다 내가 줄 바꿈에 폭발하는 것을 시도했다
,하지만 나를 위해 일하지 않았다 : 어떻게하는지 내 dB의 모습의 후 제출합니다.
** 경고 ** : mysqli를 사용하는 경우 [매개 변수가있는 쿼리] (http://php.net/manual/en/mysqli)를 사용해야합니다. .quickstart.prepared-statements.php) 및 ['bind_param'] (http://php.net/manual/en/mysqli-stmt.bind-param.php)을 사용하여 쿼리에 사용자 데이터를 추가하십시오. ** 올바르게 이스케이프하는 것을 잊어 버린 경우 심각한 [SQL injection bug] (http://bobby-tables.com/)를 만들 것이므로 수동 이스 케이 핑 및 문자열 보간 또는 연결을 사용하지 마십시오. – tadman