Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

problema inusual en MySQL por no database selected

Estas en el tema de problema inusual en MySQL por no database selected en el foro de Mysql en Foros del Web. estimados, tengo una intranet que desarrollado por meses para ayudar a un centro cultural a hacer una gestión con PHP de lso 75 talleres artísticos ...
  #1 (permalink)  
Antiguo 05/04/2011, 21:17
 
Fecha de Ingreso: noviembre-2007
Ubicación: santiagors
Mensajes: 6
Antigüedad: 16 años, 4 meses
Puntos: 0
problema inusual en MySQL por no database selected

estimados,

tengo una intranet que desarrollado por meses para ayudar a un centro cultural a hacer una gestión con PHP de lso 75 talleres artísticos mensuales que realizan.
En mi PC con localhost todo funciona bien (lo diseñé con Dreamweaver), pero cuando lo paso a el servidor el archivo pagarMensualidad.php me arroja el error "No database selected" cuando el archivo se llama a sí mismo para procesar un form. Cuando me presenta el form, la query no arroja ese problema.

Estrategias que ya he probado, sin resultado:
  • cambiar el include_once() inicial que inserta la variables de la BD por un include()
  • el include() llama al nombre de la BD con los datos del usuario y clave del servidor, no de la copia local (de hecho, todos los otros PHP resuelven bien las consultas).
  • revisar que las tablas este todos sus nombres en minuscula para que sean reconocidas.

No sé si la operación que hago sea tan típica en PHP (hago un INSERT, para luego hacer un SELECT de ese ID que me sirve apra hacer un nuevo INSERT en otra tabla), pero es una estrategia que he encontrado y aplicado sin problemas.

La parte central del PHP (que procesa el formulario) es la siguiente...

Código PHP:
    $editFormAction $_SERVER['PHP_SELF'];
if (isset(
$_SERVER['QUERY_STRING'])) {
  
$editFormAction .= "?" htmlentities($_SERVER['QUERY_STRING']);
}

if(
$_POST['NMes'] == '0') {
    
$cattrans '1';
} else {    
    
$cattrans '2';
}

    if ((isset(
$_POST["MM_update"])) && ($_POST["MM_update"] == "form1")) {
    
    


//recopilamos e ingresamos también el ID del usuario que ingresó la transacción. 
    
$LoginID2 $_SESSION['MM_UserID'];
        
        
//Validacion de que monto cancelado no es superior al Costo. 
         
if ($_POST['Monto'] <= $_POST['APagar2']) {
        
          
$insertSQL sprintf("INSERT INTO transaccion (Monto, CategoriaTransaccion, idUsuarios) VALUES (%s, %s, %s)",
                       
GetSQLValueString($_POST['Monto'], "varchar"),
                       
GetSQLValueString($cattrans"text"),
                       
GetSQLValueString($LoginID2"int"));

        
//seleccionamos el IdTrasaccion para ubicarlo en la tabla cuotamensualidad. 
          
$query_transacc sprintf("SELECT IdTransaccion FROM transaccion ORDER BY IdTransaccion DESC");
          
$transacc mysql_query($query_transacc$labarraca) or die(mysql_error());
        
$row_transacc mysql_fetch_assoc($transacc);
        
//$totalRows_mensualidad = mysql_num_rows($transacc);
        
$transar$row_transacc['IdTransaccion'] + 1;

          
$insertSQL2 sprintf("INSERT INTO cuotamensualidad (idCursos, NMensualidad, idAlumnos, NCuota, IdTransaccion) VALUES (%s, %s, %s, %s, %s)",
                       
GetSQLValueString($_GET['idCursos'], "varchar"),
                       
GetSQLValueString($_GET['NMensualidad'], "varchar"),
                       
GetSQLValueString($_GET['idAlumnos'], "varchar"),
                       
GetSQLValueString($_POST['NCuota'], "varchar"),
                       
GetSQLValueString($transar"int"));


          
mysql_select_db($database_labarraca$labarraca);
          
$Result1 mysql_query($insertSQL$labarraca) or die(mysql_error());
          
$Result2 mysql_query($insertSQL2$labarraca) or die(mysql_error());

           
$insertGoTo "pagarMensualidad2.php?idAlumnos=" $_GET['idAlumnos'] . "&idCursos=" $_GET['idCursos'] . "&NMensualidad=" $_GET['NMensualidad'] ."&idProfesor="$_GET['idProfesor'] ."&pago=1"
  
//$insertGoTo = "verAlumnosEnTaller.php?idCursos=" . $_GET['idCursos'] . "&idProfesor=" . $_GET['idProfesor'] . "&pago=1"; 
  /*if (isset($_SERVER['QUERY_STRING'])) {
    $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
    $insertGoTo .= $_SERVER['QUERY_STRING'];
  }*/
          
header(sprintf("Location: %s"$insertGoTo));
        

        
//Si Monto a cancelar es mayor, se le avisa a usuario. 
        
} else {
        
$regreso "pagarMensualidad.php?idAlumnos=" $_GET['idAlumnos'] . "&idCursos=" $_GET['idCursos'] . "&NMensualidad=" $_GET['NMensualidad'] ."&idProfesor="$_GET['idProfesor'] ."&idSemestre=" $_GET['idSemestre'] . "&aviso=monto";
        
header(sprintf("Location: %s"$regreso));
    }

Desde ya agradecería cualquier ayuda al respecto.
  #2 (permalink)  
Antiguo 06/04/2011, 05:17
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: problema inusual en MySQL por no database selected

Cita:
Desde ya agradecería cualquier ayuda al respecto.
- Los temas de conexión entre scripts de PHP y MySQL, no son problemas de base de datos, sino de PHP, por lo que en realidad este tema va en otro foro.

- Aún así, el problema es simple y tu mismo lo dices: MySQL responde "No database selected", así que el problema es que ejecutas las consultas sin haber seleccionado previamente la base.

- Como no estás poniendo la parte del script donde se genera la conexión, no podemos saber, ni conociendo PHP, si estás cometiendo un error allí. De todos modos es evidente que la conexión se realiza, el problema esta en la selección de la base, por lo que hay tres posibilidades: 1) No estás poniendo la selección de la base a usar luego de abrir la conexión, 2) Estas seleccionando la base, pero el nombre de la base en tu PC local no es el mismo que en el servidor, y 3) Los nombres son iguales, pero el servidor está basado en Linux y los nombres que pones no coinciden en Mayúsculas/minúsculas "(BaseDeDatos" y "BasedeDatos" son diferentes para Linux).

Revisa esas tres posibilidades.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 06/04/2011, 22:50
 
Fecha de Ingreso: noviembre-2007
Ubicación: santiagors
Mensajes: 6
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: problema inusual en MySQL por no database selected

Estimado, gracias por la respuesta.

Revisando las alternativas 2 y 3 no es ninguna de las planteadas. La alternativa 1 no lo sé, porque no termino de entenderla, pero creo que no.

La conexión se realiza, al igual que en todo el resto de la intranet, incluyendo un conexion.php con los datos de la Base de Datos, que funciona a la perfección.

De hecho, probando en el sitio live (que se puede visitar en http://www.labarraca.cl/intranet/admin/cursos/verAlumnosEnTaller.php?idCursos=78&idProfesor=50 poniendo el nombre de usuario: labarraca , pass: labarraca) todos los otros archivos cargan y este no.

En enlace directo (por ejemplo) desde el cual pretendo pagar es: http://www.labarraca.cl/intranet/admin/cursos/pagarMensualidad.php?idAlumnos=78&idCursos=78&NMen sualidad=10&idProfesor=50&idSemestre=2

El PHP de la conexion, que me funciona en los 300 archivos de la intranet menos en este es

Código PHP:
<?php
# FileName="Connection_php_mysql.htm"
# Type="MYSQL"
# HTTP="true"
$hostname_labarraca "localhost";
//$database_labarraca = "cclabarraca2";
$database_labarraca "barraca2011";
$username_labarraca "root";
$password_labarraca "valjean";
$labarraca mysql_pconnect($hostname_labarraca$username_labarraca$password_labarraca) or trigger_error(mysql_error(),E_USER_ERROR); 
?>
gracias en el caso de cualquier ayuda.

Etiquetas: connection, database, insert, tablas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:50.