PHP - Parse error: syntax error, unexpected "," in subirCSV.php oen line 4

 
Vista:
Imágen de perfil de jose
Val: 184
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Parse error: syntax error, unexpected "," in subirCSV.php oen line 4

Publicado por jose (71 intervenciones) el 31/01/2021 11:03:08
Buenos días,

Tengo un extraño problema he implementado un código para importar csv o txt a mysql con php.

Estoy recibiendo este error cuando accedo a la página Parse error: syntax error, unexpected ',' in /volume1/web/control/pages/recibos/subirCSV.php on line 4

Dicha línea está vacía. He probado en eliminar gran parte del código y sigue igual.

También he intentado con otro navegador por si era tema de cache.

Agradecería si alguien pudiera ayudarme.

Subo el código de la página por si alguien ve algo.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
<?php
require('../session/cookie.php');
ob_start();
 
function subir(){
   $file_type = $_FILES['file']['type'];
 
        $servername = "********";
        $database = ""********";
        $username = "********";
        $password ="********";
        // Create connection
        if (!$conn = mysql_connect($servername,$username,$password)) {
            echo 'No pudo conectarse a mysql';
            exit;
        }
        if (!mysql_select_db($database, $conn)) {
            echo 'No pudo seleccionar la base de datos';
            exit;
        }
//Upload File
if (isset($_POST['enviar'])) {
    if (is_uploaded_file($_FILES['filename']['tmp_name'])) {
        echo "<h1>" . "File ". $_FILES['filename']['name'] ." subido." . "</h1>";
        echo "<h2>Datos subidos:</h2>";
        readfile($_FILES['filename']['tmp_name']);
    }
    //Import uploaded file to Database
    $handle = fopen($_FILES['filename']['tmp_name'], "r");
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
        $import="INSERT INTO test_csv
       (titulo,entidad,cantidad,fecha,operacion,renta,vivienda,inquilino,descripcion,extra) VALUES   ('$data[0]','$data[1]','$data[2]','$data[3]','$data[4]','$data[5]','$data[6]','$data[7]','$data[8]','$data[9]','$data[10]')";
        mysql_query($import) or die(mysql_error());
    }
    fclose($handle);
    print "Import hecho!";
    //view upload form
}
}
ob_end_flush();
?>
<!DOCTYPE html>
<html lang="en">
<head>
   <meta charset="UTF-8">
   <title>Importación de archivo csv</title>
</head>
<body>
<form enctype='multipart/form-data'  method='post' id="form_subir_csv" >
Selecciona el fichero a importar: (csv o txt)<br />
<input size='50' type='file' name='filename' accept=".csv, text/plain"><br />
  <input type="hidden" name="subir" value="admin1">
  <br />
   <a id="descargar" onclick="$('#form_subir_csv').submit();" class="button">Importar de CSV / TXT </a>
</form>
<script>
var form = document.getElementById("form_subir_csv");
document.getElementById("descargar").addEventListener("click", function () {
  form.submit();
});
</script>
</body>
</html>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de jose
Val: 184
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Parse error: syntax error, unexpected ',' in subirCSV.php oen line 4

Publicado por jose (71 intervenciones) el 31/01/2021 14:17:35
El error está solucionado con otro código. Aunque no está funcionando la importación. Expongo el código por si alguien le puede ayudar.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
<?php
 
//conexiones, conexiones everywhere
ini_set('display_errors', 1);
error_reporting(E_ALL);
 $servername = "****";
		$database = "****";
		$username ="****";
		$password = "****";
 
 
$table = "test_csv";
if (!@mysqli_connect($servername, $username, $password,$database))
    die("No se pudo establecer conexión a la base de datos");
 
//if (!@mysqli_select_db($database))
    //die("base de datos no existe");
    if(isset($_POST['submit']))
    {
        //Aquí es donde seleccionamos nuestro csv
         $fname = $_FILES['sel_file']['name'];
         echo 'Cargando nombre del archivo: '.$fname.' <br>';
         $chk_ext = explode(".",$fname);
 
         if(strtolower(end($chk_ext)) == "csv")
         {
             //si es correcto, entonces damos permisos de lectura para subir
             $filename = $_FILES['sel_file']['tmp_name'];
             $handle = fopen($filename, "r");
 
             while (($data = fgetcsv($handle, 1000, ",")) !== FALSE)
             {
               //Insertamos los datos con los valores...
                $sql = "INSERT INTO test_csv
	   (titulo, entidad,cantidad,fecha,operacion,renta,vivienda,inquilino,descripcion,extra) VALUES
	   ('$data[0]','$data[1]','$data[2]','$data[3]','$data[4]','$data[5]','$data[6]','$data[7]','$data[8]','$data[9]','$data[10]')";
                mysqli_query($sql) or die('Error: '.mysqli_error());
             }
             //cerramos la lectura del archivo "abrir archivo" con un "cerrar archivo"
             fclose($handle);
             echo "Importación exitosa!";
			 header("location:recibos.php");
         }
         else
         {
            //si aparece esto es posible que el archivo no tenga el formato adecuado, inclusive cuando es cvs, revisarlo para
//ver si esta separado por " , "
             echo "Archivo invalido!";
			 echo mysqli_errno($conn) . ": " . mysqli_error($conn) ."\n";
         }
    }
 
?>
 
 
 
<!DOCTYPE html>
  <body>
  <h1>Importando archivo CSV</h1>
  Selecciona el fichero a importar: (csv o txt)
  <form action='recibos.php' method='post' enctype="multipart/form-data">
   Importar Archivo : <input type='file' name='sel_file' accept=".csv, text/plain" size='20'><
   <input type='submit' name='submit' value='Importar'>
  </form>
 </body>
</html>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 3.828
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Parse error: syntax error, unexpected ',' in subirCSV.php oen line 4

Publicado por joel (1269 intervenciones) el 01/02/2021 07:59:04
Hola Jose, en la linea 37, en el mysqli_query te falta especificar el $link https://www.php.net/manual/es/mysqli.query.php

Tendría que ser algo así:
1
2
3
$link= mysqli_connect($servername, $username, $password,$database) or die("No se pudo establecer conexión a la base de datos");
...
mysqli_query($link, $sql) or die('Error: '.mysqli_error());

Coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de jose
Val: 184
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Parse error: syntax error, unexpected ',' in subirCSV.php oen line 4

Publicado por jose (71 intervenciones) el 01/02/2021 16:45:48
Muchas gracias Joel,

Me funciono. Muchisimas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar