Error de MySql al seleccionar tabla de productos en PHP

  • Autor Autor Turbo
  • Fecha de inicio Fecha de inicio
Turbo

Turbo

Delta
Verificación en dos pasos activada
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Hola, estoy listando productos en una tabla y al hacer el select me da un error y reviso una y otra vez y no veo nada mal en mi codigo.
De antemano la DB si me conecta, pero me da error la linea del select.

El error:
Insertar CODE, HTML o PHP:
Conexion OK
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[3D000]: Invalid catalog name: 1046 No database selected' in C:\xampp\htdocs\FINAL\admin.php:4 Stack trace: #0 C:\xampp\htdocs\FINAL\admin.php(4): PDO->query('SELECT * FROM t...') #1 {main} thrown in C:\xampp\htdocs\FINAL\admin.php on line 4

Así es la query de selección:
473d727109504c0e94a9e310550ed95e.png


y lo listo de la siguiente manera:
4b18b2a00dd24daab5c5bfac52f778bb.png



De antemano digo que el nombre de la tabla esta bien escrito.
 
Dice que no haz especificado la base de datos a la que quieres conectarte. La conexción está hecha, pero falta especificar la DB

- - - Actualizado - - -

Pega el contenido de conexiónDB.php
 
Dice que no haz especificado la base de datos a la que quieres conectarte. La conexción está hecha, pero falta especificar la DB

- - - Actualizado - - -

Pega el contenido de conexiónDB.php

Gracias por responder:
f5373f5eae294fa18a0116b8e0c7b022.png


Insertar CODE, HTML o PHP:
<?php
	try{
		$base=new PDO('mysql:host=localhost; dbname@db_ventas', 'root', 'pass');
		$base->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
		echo "Conexion OK";
		$base->exec("SET CHARACTER SET utf8");
	}catch(Exception $e){
		die('Error: ' . $e->GetMessage());
		//Se mostrará el error
		echo "Linea del error: " . $e->getLine();
	}
	
?>
 
Cambia dbname@db_ventas por dbname=db_ventas y refresca. Luego cuentanos que tal
 
En la variable $base cambia dbname@db_ventas por dbname=db_ventas
PHP:
$base=new PDO('mysql:host=localhost;dbname=db_ventas', 'root', 'pass');


P.D: En este código que muestras:
PHP:
<?php
	try{
		$base=new PDO('mysql:host=localhost; dbname@db_ventas', 'root', 'pass');
		$base->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
		echo "Conexion OK";
		$base->exec("SET CHARACTER SET utf8");
	}catch(Exception $e){
		die('Error: ' . $e->GetMessage());
		//Se mostrará el error
		echo "Linea del error: " . $e->getLine();
	}
	
?>

Esta parte:
PHP:
echo "Conexion OK";

Debería ir al final de todo por que si no siempre mostrará "Conexión OK" aun que la conexión no se realice.

Y esta linea:
PHP:
echo "Linea del error: " . $e->getLine();

Debería ir encima del die(), si no nunca se mostrará. Todo quedaría así:
PHP:
<?php
	try{
		$base=new PDO('mysql:host=localhost; dbname@db_ventas', 'root', 'pass');
		$base->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
		$base->exec("SET CHARACTER SET utf8");
	}catch(Exception $e){
                echo "Linea del error: " . $e->getLine();
		die('Error: ' . $e->GetMessage());
	}
	echo "Conexion OK";
?>
 
prueba el desde el phpadmin a ver si te funciona, asi descartas si es un error de php o mysql
 
Atrás
Arriba