Pregunta:
Fecha: 04-12-2016 16:15:13
(En Español)
no se como corregirlo, me pueden ayudar porfa?
mensajeria.php=
conexion.php
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");
?>
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
