Nueva pregunta

Pregunta:

Fecha: 04-12-2016 16:15:13 (En Español)

Fatal error: Uncaught Error: Call to undefined function mysql_connect()[Resuelta]

Este código no me sirve desde que actualize mi XAMPP y no se que debo cambiarle, me ayudan? me sale mucho este error "Uncaught Error: Call to undefined function mysql_connect()"
no se como corregirlo, me pueden ayudar porfa?

mensajeria.php=
<?php
session_start();
if(!isset($_SESSION['user']))
{
  header("Location: index.php");
}
else
{
  $us = $_SESSION['user'];
  require('conexion.php');
  conectar_base_datos();
  $consulta = mysql_query("SELECT * FROM usuarios WHERE usuario = '$us'");
  $row = mysql_fetch_array($consulta);
  echo "Bienvenido: <b>$row[7]</b>";
}
?>
<html>
<head><title>Mensajería</title>
</head>
<body>
<center><a href='mensajeria.php?id=band'>Bandeja de Entrada</a> | <a href='mensajeria.php?id=envi'>Enviados</a></center>

<?php
$us = $_SESSION['usuario'];
$id = $_GET['id'];
$msj = @$_GET['msj'];

if($id == 'band')
{
  $consulta = mysql_query("SELECT * FROM usuarios WHERE usuario = '$us'");
  $row0 = mysql_fetch_array($consulta);
  $bandeja = mysql_query("SELECT * FROM mensajeria WHERE destinatario = '$row0[7]' ORDER BY id") or die("Error");
  if(0 < mysql_num_rows($bandeja))
  {
    while($row = mysql_fetch_array($bandeja))
    {
      echo "<br><table align='center' border='1'>";
      echo "<tr><td>Remitente:</td><td>$row[1]</td></tr>";
      echo "<tr><td>Asunto:</td><td>$row[3]</td></tr>";
      echo "<tr><td>Fecha:</td><td>$row[5]</td></tr>";
      echo "<tr><td>Mensaje:</td><td>$row[4]</td></tr>";
      echo "</table><center><a href='mensajeria.php?id=borra&msj=$row[0]'>Borrar Mensaje</a></center><br>";
    }
  }
  else
  {
    echo "<center>No hay mensajes en la bandeja de entrada</center>";
  }
}
else
{
  if($id == 'envi')
  {
    $consulta = mysql_query("SELECT * FROM usuarios WHERE usuario = '$us'");
    $row0 = mysql_fetch_array($consulta);
    $enviados = mysql_query("SELECT * FROM mensajeriaenviados WHERE remitente = '$row0[7]' ORDER BY id");
    if(mysql_num_rows($enviados) > 0)
    {
      while($row = mysql_fetch_array($enviados))
      {
        echo "<br><table align='center' border='1'>";
        echo "<tr><td>Para:</td><td>$row[2]</td></tr>";
        echo "<tr><td>Asunto:</td><td>$row[3]</td></tr>";
        echo "<tr><td>Fecha:</td><td>$row[5]</td></tr>";
        echo "<tr><td>Mensaje:</td><td>$row[4]</td></tr>";
        echo "</table><center><a href='mensajeria.php?id=borraenv&msj=$row[0]'>Borrar Mensaje</a></center><br>";
      }
    }
    else
    {
      echo "<center>No existen elementos enviados</center>";
    }
  }
  else
  {
    if($id == 'borra')
    {
      mysql_query("DELETE FROM mensajeria WHERE id = '$msj'");
      header("Location: mensajeria.php?id=band");
    }
    else
    {
      if($id == 'envio')
      {
        $consulta = mysql_query("SELECT * FROM usuarios WHERE usuario = '$us'");
        $row = mysql_fetch_array($consulta);
        $usu = $row[7];
        $des = $_POST['destinatario'];
        $asu = $_POST['asunto'];
        $men = $_POST['mensaje'];
        $fec = date('d-m-Y H:i:s');
        $est = 0;
        mysql_query("INSERT INTO mensajeria (remitente,destinatario,asunto,mensaje,fecha,estado) VALUES ('$usu','$des','$asu','$men','$fec','$est')");
        mysql_query("INSERT INTO mensajeriaenviados (remitente,destinatario,asunto,mensaje,fecha,estado) VALUES ('$usu','$des','$asu','$men','$fec','$est')");
        echo "<center>Mensaje Enviado con éxito</center>";
      }
      else
      {
        if($id == 'borraenv')
        {
          mysql_query("DELETE FROM mensajeriaenviados WHERE id = '$msj'");
          header("Location: mensajeria.php?id=band");
        }
      }
    }
  }
}
?>

<center><h2>Enviar Mensaje Instantáneo</h2></center>
<form action='mensajeria.php?id=envio' method='POST'>
<table align='center'>
<tr>
<td>
Destinatario:
</td>
<td>
<input type='text' name='destinatario' maxlenght='30' size='20'>
</td>
</tr>
<tr>
<td>
Asunto:
</td>
<td>
<input type='text' name='asunto' maxlenght='50' size='20'>
</td>
</tr>
<tr>
<td>
Mensaje:
</td>
<td>
<textarea name='mensaje'></textarea>
</td>
</tr>
</table>
<center><input type='submit' value='Enviar'></center>
</form>
<center><a href='index2.php'>Volver</a></center>
</body>
</html>


conexion.php

<?php 
function conectar_base_datos() 
{ 
mysql_connect("localhost","root","123"); 
mysql_select_db("rc"); 
?>
Etiquetas: Base de Datos - Error - MySQL - PHP - PHP Fatal error - Pregunta Votos: 1 - Respuestas: 5 - Vistas: 12 Compartir en: Google Facebook Twitter LinkedIn Link
 

Respuestas:

  • Fecha: 05-12-2016 06:48:48 Hola Mauricio:

    En Xampp, salvo qe lo hayas modificado, la contraseña está vacía

    Prueba este código en conexion.php
    function conectarbd(){
      $host = "localhost";
      $usuario = "root";
      $password = "";  
      $conexion = @mysql_connect ($host, $usuario, $password);			   
      if (!$conexion )	{
    	$descripcionerror = mysql_error();		   
    	   errorsql ("Error en la conexión al servidor SQL", $descripcionerror);		
    	   die();
         }	 
      mysql_set_charset ("utf8");	 
      $exito = @mysql_select_db ("rc", $conexion);  
      if (!$exito ){
       $descripcionerror = mysql_error();
       errorsql ("Error al seleccionar la base de datos ['rc']", $descripcionerror);
    	   die();
      } 	
    }


    El código es viejo y podrían corregirnos en MSQLI
      Votos: 1 - Link respuesta
     
  • Fecha: 05-12-2016 11:07:17 Quien sabe el mysql_connect ya es deprecated , si quieres seguir usandolo ponle un @ y ya esta.

    EJEMPLO : @mysql_connect();
      Votos: 1 - Link respuesta
     
  • Fecha: 06-12-2016 07:31:35 Hola Mauricio, el error "Uncaught Error: Call to undefined function mysql_connect()" te esta indicando que la función mysql_connect no esta en tu servidor PHP, esto se debe a que mysql_connect fue deprecada en versiones anteriores de PHP y ahora eliminada en las últimas versiones, por lo que deberas migrar tu código a MySQLi

    Aquí te dejo un enlace donde se trato el tema y se llego a una conclusión: Migrar funciones PHP MySQL (Deprecated) a MySQLi

    Con respecto al @ es muy mala práctica utilizarlo, ya que oculta errores y despues puede ser muy complicado dar con el problema, además de que "ensucia el código". Puede servir en un prototipo, en un código obsoleto que será remplazado, en una situación extrema....

    Espero que mi respuesta sea de ayuda.

    Saludos a todos!
      Votos: 0 - Link respuesta
     
  • Fecha: 06-12-2016 07:31:54 Bueno Compañero puede ser varias cosas que te fallen no se el mas notorio es que mysql ya no se usa desde hace mucho usa simplemente mysqli es muy simple y para ayudarte a mejorar mysqli orientado a objetos y usando clases

    otra cosa en la linea: 26 de tu codigo no se usa: $msj = @$_GET['msj'];
    el @ si bien tapa el error no es buena plactica usa siempre $msj = null; para que asi no te de error de que no se ha definido la variable ect

    aqui tte dejo mi tipico codigo de conexion usando PDO:

    <?php
    
    class ConexionPDO {
    
    	public $server = '127.0.0.1';
    	private $user = ''; // tu nombre de tu phpmyadmin
    	private $password = ''; // password de tu phpmyadmin
    	private $conn;
    	// private $db = 'proyecto';
    	
    	public function __construct() {
    		
    	}
    
    	public function Connect() {
    	try {
    	return $this->conn = new PDO('mysql:host=127.0.0.1;dbname=users', $this->user, $this->password);
    	$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    } catch(PDOException $e) {
    	echo "ERROR: " . $e->getMessage();
    	exit;
    }
    }
    }
    ?>
    


    Saludos n.n/ para cualquier otra duda mas comenta :) aqui estare para en que mas puedo ayudar.
      Votos: 2 - Link respuesta
     
  • Fecha: 08-12-2016 01:30:43 gracias y ya lo solucione, preferi volver un poco atras es que no se me confundes que php cambien de funciones a cada rato :v

    Chrismart Anji y gracias por tu funcion la pondre en practica
      Votos: 0 - Link respuesta
     
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
 
frjcbbae garagebible.com