PHP - Parse error: syntax error, unexpected ?>, expecting function (T_FUNCTION) in

 
Vista:
sin imagen de perfil
Val: 4
Ha aumentado su posición en 19 puestos en PHP (en relación al último mes)
Gráfica de PHP

Parse error: syntax error, unexpected ?>, expecting function (T_FUNCTION) in

Publicado por manuel (4 intervenciones) el 30/07/2016 18:34:03
Copie este codigo de una web de una coneccion pero me marca el siguiente error:

Parse error: syntax error, unexpected '?> ', expecting function (T_FUNCTION) in C:\xampp\htdocs\directorio_telf\DatabaseConnect.php on line 32

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
<?php
 
 
 
class DatabaseConnect {
 
    public function dbConnectSimple(){
        $dbsystem='mysql';
        $host='localhost';
        $dbname='customerdb';
        $username='root';
        $passwd='';
        return $this->dbConnect($dbsystem, $host, $dbname, $username, $passwd);
    }
 
    public function dbConnectS($dbsystem, $host, $dbname, $username, $passwd){
        $dsn=$dbsystem.':host='.$host.';dbname='.$dbname;
        try {
            $connection = new PDO($dsn, $username, $passwd);
            $connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        } catch (PDOException $pdoExcetion) {
            $connection = null;
            echo 'Error al establecer la conexión: '.$pdoExcetion;
            exit();
        }
        echo 'Conectado a la base de datos: '.$dbname;
        return $connection;
 
    }
 
?>
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 kip
Val: 2.325
Plata
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Parse error: syntax error, unexpected ?>, expecting function (T_FUNCTION) in

Publicado por kip (877 intervenciones) el 30/07/2016 18:55:35
Hola, creo que te falta cerrar la llave } al final antes de ?> y se solucionaria el problema.

1
2
3
4
5
6
7
8
}
echo 'Conectado a la base de datos: '.$dbname;
return $connection;
 
}
}
 
?>

Nos cuentas si sirvio.

Saludos
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
sin imagen de perfil
Val: 4
Ha aumentado su posición en 19 puestos en PHP (en relación al último mes)
Gráfica de PHP

Parse error: syntax error, unexpected ?>, expecting function (T_FUNCTION) in

Publicado por manuel (4 intervenciones) el 30/07/2016 19:19:31
SI funciono.

Pero ya trabajando para mostrar la coneccion y una consulta me sale el siguiente error:


Fatal error: Call to undefined method DatabaseConnect::dbConnect() in C:\xampp\htdocs\directorio_telf\DatabaseConnect.php on line 13.

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
<!DOCTYPE html>
 
<html>
    <head>
        <meta charset="UTF-8">
        <title>PHP CRUD MySQL</title>
    </head>
    <body>
        <h2 class="sub-header">Idiomas</h2>
        <?php
            include './DatabaseConnect.php';
 
             $dConnect = new DatabaseConnect;
            $cdb = $dConnect->dbConnectSimple();
        ?>
 
<table>
                <tr>
                    <th>LANGUAGE</th>
                    <th>NAME</th>
                    <th>IS ACTIVE?</th>
                    <th>LANGUAGE ISO</th>
                    <th>COUNTRY CODE</th>
                    <th>IS BASE?</th>
                    <th>IS SYSTEM LANGUAGE?</th>
                    <th>ACCIONES</th>
                </tr>
 
        <?php
            try {
                $query = "SELECT * FROM cb_language;";
                $statement = $cdb->prepare($query);
                $result = $statement->execute();
                $rows = $statement->fetchAll(\PDO::FETCH_OBJ);
 
                echo '<br />';
                foreach ($rows as $row) {
                    ?>
                    <tr>
                        <td><?php print($row->idlanguage); ?></td>
                        <td><?php print($row->namelanguage); ?></td>
                        <td><?php print($row->isactive); ?></td>
                        <td><?php print($row->languageiso); ?></td>
                        <td><?php print($row->countrycode); ?></td>
                        <td><?php print($row->isbaselanguage); ?></td>
                        <td><?php print($row->issystemlanguage); ?></td>
                    </tr>
        <?php
                }
            } catch (Exception $exception) {
                echo 'Error hacer la consulta: ' . $exception;
            }
            ?>
        </table>
 
    </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 kip
Val: 2.325
Plata
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Parse error: syntax error, unexpected ?>, expecting function (T_FUNCTION) in

Publicado por kip (877 intervenciones) el 30/07/2016 20:43:40
El error que te muestra se debe a que en en la funcion dbConnectSimple de la clase Database Connect llama a otra funcion que no existe:

1
2
3
4
5
6
7
8
public function dbConnectSimple(){
        $dbsystem='mysql';
        $host='localhost';
        $dbname='customerdb';
        $username='root';
        $passwd='';
        return $this->dbConnect($dbsystem, $host, $dbname, $username, $passwd); //AQUI ESTA EL ERROR
    }

Si te fijas llama a la funcion dbConnect(), y en la clase no existe dicha funcion, existe dbConnectS()

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public function dbConnectS($dbsystem, $host, $dbname, $username, $passwd){
        $dsn=$dbsystem.':host='.$host.';dbname='.$dbname;
        try {
            $connection = new PDO($dsn, $username, $passwd);
            $connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        } catch (PDOException $pdoExcetion) {
            $connection = null;
            echo 'Error al establecer la conexión: '.$pdoExcetion;
            exit();
        }
        echo 'Conectado a la base de datos: '.$dbname;
        return $connection;
 
    }

Cambia la linea donde llama a la funcion dbConnectS o cambia el nombre de la funcion en cuestion.
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