Error de conexión: SQLSTATE[01000] en página php
Publicado por Julia (2 intervenciones) el 07/01/2024 01:07:44
Hola, estoy queriendo realizar una página web con php-base de datos access.
He creado los siguientes archivos:
biografias1.php
biografias2.php
Y db_connection.php
Cuando procedo a darle a la página biografias1.php directamente me sale el siguiente error: Error de conexión: SQLSTATE[01000] SQLDriverConnect: 0 [unixODBC][Driver Manager]Can't open lib 'Microsoft Access Driver (*.mdb, *.accdb)' : file not found
No consigo dar con el fallo... ¿Alguien que me pueda ayudar?
Muchas gracias. Saludos.
He creado los siguientes archivos:
biografias1.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Consulta de Parámetro en Base de Datos Access</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="container">
<h1>Link de artista</h1>
<h2><a href="https://www.musicasdobrasil.net/biografias/biografias2.php?num_artista=5">AGOSTINHO DOS SANTOS</a></h2>
</div>
</body>
</html>
biografias2.php
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
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Consulta de Parámetro en Base de Datos Access</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="container">
<h1>Consulta de Parámetro en Base de Datos Access</h1>
<?php
require_once 'db_connection.php';
// Obtener el valor del parámetro desde la cadena de consulta
$num_artista = isset($_GET['num_artista']) ? $_GET['num_artista'] : null;
if ($num_artista !== null) {
try {
// Conectar a la base de datos
$dbh = getDBConnection();
// Preparar la consulta con un parámetro
$query = "SELECT * FROM artistas WHERE num_artista = :num_artista";
$stmt = $dbh->prepare($query);
$stmt->bindParam(':num_artista', $num_artista);
$stmt->execute();
// Obtener y mostrar resultados
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
echo "Artista: " . $row['artista'] . "<br>";
echo "Biografia: " . $row['vida'] . "<br>";
}
// Cerrar la conexión
$dbh = null;
} catch (PDOException $e) {
// Manejar errores de conexión
echo "<p>Error de conexión: " . $e->getMessage() . "</p>";
}
} else {
echo "<p>No se proporcionó un valor de parámetro.</p>";
}
?>
</div>
</body>
</html>
Y db_connection.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
function getDBConnection() {
$dsn = "odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=https://www.musicasdobrasil.net/biografias/artistas.mdb";
try {
// Intentar conectar a la base de datos
$dbh = new PDO($dsn, $user, $pass);
return $dbh;
} catch (PDOException $e) {
// Manejar errores de conexión
echo "Error de conexión: " . $e->getMessage();
die();
}
}
?>
Cuando procedo a darle a la página biografias1.php directamente me sale el siguiente error: Error de conexión: SQLSTATE[01000] SQLDriverConnect: 0 [unixODBC][Driver Manager]Can't open lib 'Microsoft Access Driver (*.mdb, *.accdb)' : file not found
No consigo dar con el fallo... ¿Alguien que me pueda ayudar?
Muchas gracias. Saludos.
Valora esta pregunta
0