Foros del Web » Programando para Internet » PHP »

Error en MySQL

Estas en el tema de Error en MySQL en el foro de PHP en Foros del Web. Hola a todos, bueno tengo un problema al conectar un formulario de PHP con una base de datos, estoy usando WAMP SERVER 2.5 Bien el ...
  #1 (permalink)  
Antiguo 07/08/2014, 23:14
 
Fecha de Ingreso: agosto-2014
Ubicación: México
Mensajes: 1
Antigüedad: 9 años, 11 meses
Puntos: 0
Error en MySQL

Hola a todos, bueno tengo un problema al conectar un formulario de PHP con una base de datos, estoy usando WAMP SERVER 2.5

Bien el error que me salta es al insertar los datos a la BDD, el proceso lo hace pero me manda esto "Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in C:\wamp\www\Restaurant\conexion.php on line 2"

Y en mi archivo de "conexión.php" tengo esto:

<?php
$conexion = mysql_connect("localhost","restaurant","root") or die ("Problemas con el servidor");
$selecciona_bd = mysql_select_db("restaurante",$conexion) or die ("Problemas con la base de datos ");
?>

Según el error se encuentra en la línea 2, es decir en el $conexion = mysql_connect, pero es porque ese comando se dejará de usar.

Me gustaría saber si existe algún otro código que reemplaze el "mysql_connect" ya consulte algunos manuales y no he encontrado una respuesta concreta.



Les agradezco de antemano su ayuda.
  #2 (permalink)  
Antiguo 08/08/2014, 03:04
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, 7 meses
Puntos: 2658
Respuesta: Error en MySQL

OFF TOPIC en foro de SQL Server.
Movido a PHP.
__________________
¿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 08/08/2014, 03:21
 
Fecha de Ingreso: enero-2011
Ubicación: Barcelona
Mensajes: 36
Antigüedad: 13 años, 6 meses
Puntos: 5
Respuesta: Error en MySQL

Hola Cesar343,

El problema es que mysql está deprecado y en un futuro pasara a obsoleta y dejara de funcionar.

Su alternativa es mysqli, el cual tiene un comportamiento similar pero orientado a objetos, en mysqli encontraras todas las funciones que utilizas pero orientadas a objetos.

La otra alternativa (más genérica) es el PDO. Con ese sistema orientado a objetos puedes cambiar el motor de tu base de datos cambiando únicamente la conexión y poco más.

Si estás seguro de que utilizarás mysql utiliza mysqli, encontraras muchos manuales y es sencillo de utilizar sobre todo porque las funciones se llaman igual que las funciones a las que estás acostumbrado en mysql.

Por el contrario, si quieres prevenir un posible cambio de motor de base de datos te recomiendo PDO del cual hay muchos manuales también.

Por cierto, ten en cuenta que si buscas cualquier función de mysql en la librería de php oficial, te dirá que esta deprecada y te ofrecerá la alternativa mysqli y PDO.

Espero haberte ayudado.

Saludos, Alex.
  #4 (permalink)  
Antiguo 08/08/2014, 03:35
Avatar de fbedia  
Fecha de Ingreso: julio-2010
Mensajes: 159
Antigüedad: 14 años
Puntos: 8
Respuesta: Error en MySQL

Como te comenta alx1417 lo mejor seria pasar tus proyectos a mysqli.

Por cierto, hay un tema fijado en este foro al respecto: http://www.forosdelweb.com/f18/anunc...oleta-1008145/

La extension MYSQL ya lleva años anunciándose como obsoleta, ya a mediaos del 2013, apache empezaba a arrojar los primeros alerts...

En cualquier caso, el cambio de "mysql" a "mysqli" no es tan drástico! básicamente tienes que hacer en todo tu proyecto un "buscar y reemplazar" las cadenas:

Buscar: mysql
Reemplazar por: mysqli

Buscar: mysqli_query("
Reemplazar por: mysqli_query($conexion,"

Borrar todos los: mysql_select_db($db);

Modificar todas los: mysql_connect($serv,$user,$pass);
Por: mysqli_connect($server,$user,$pass,$db);

¡Yo ya actualice mis proyectos a mysqli y sigo vivo!

Saludos!
__________________
Follow me on twitter @franbedia
  #5 (permalink)  
Antiguo 28/10/2014, 20:14
 
Fecha de Ingreso: octubre-2014
Mensajes: 1
Antigüedad: 9 años, 8 meses
Puntos: 0
Respuesta: Error en MySQL

Ayuda tengo este codigo y no puedo convertirlo a mysqli... Ayudenme porfavor!
<?php

$con = mysql_connect("localhost","Administrador","ale9572 ");
if (!$con)
{
die('Could not connect: ' . pdo_error());
}

mysql_select_db("consultorios", $con);


$sql= "INSERT INTO clientes (Nombre,Apellido,Fecha,Telefono,Email,Password)
VALUES
('$_POST[Nombre]','$_POST[Apellido]','$_POST[Fecha]','$_POST[Telefono]','$_POST[Email]','$_POST[Password]')";


if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
echo "<h2><center>Informacion Registrada con exito!!</h2><br><br><br><br><br><br><br><br><br><br><br><br ><br><br>";



mysql_close($con);
?>
  #6 (permalink)  
Antiguo 28/10/2014, 21:28
 
Fecha de Ingreso: febrero-2014
Mensajes: 48
Antigüedad: 10 años, 5 meses
Puntos: 0
Respuesta: Error en MySQL

Hola Cesar y Alajandra, lo que sucede es que mysql y php han actualizado su sintaxis para conectarse con una BD así como para realizar consultas a la BD, aquí les dejo una solución:


Primero: así debe ser el archivo conexion.php


<?php
$q = mysqli_connect('localhost', 'root', 'tu_clave', 'nombre_tu_db');

if (mysql_error())
echo ("<script language='javascript'>
alert('Error al conectarse al servidor de base de datos..!')
location.href = 'index.php';
</script>");
?>

la variable "$q" puedes llamarla como desees
  #7 (permalink)  
Antiguo 28/10/2014, 21:32
 
Fecha de Ingreso: febrero-2014
Mensajes: 48
Antigüedad: 10 años, 5 meses
Puntos: 0
Respuesta: Error en MySQL

Y aquí les dejo lo que debe ser un INSERT con todas las variables declaradas y como deben ser declaradas para que no hayan warning:

registro.php:

<?php
require ('conexion.php');

$nomb="";
$ape="";
$ced="";
$pasapor="";
$fecha_nac="";
$telf1="";
$fecha_ing=date("d/m/Y");
$cod_pai="";
$cod_esta="";
$mail="";
$pass="";
if(isset($_POST['nombre'])){ $nomb = $_POST['nombre']; }
if(isset($_POST['apellido'])){ $ape = $_POST['apellido']; }
if(isset($_POST['cedula'])){ $ced = $_POST['cedula']; }
if(isset($_POST['pasaporte'])){ $pasapor = $_POST['pasaporte']; }
if(isset($_POST['fecha_nacimiento'])){ $fecha_nac = $_POST['fecha_nacimiento']; }
if(isset($_POST['telefono_movil'])){ $telf1 = $_POST['telefono_movil']; }
if(isset($_POST['pais'])){ $cod_pai = $_POST['pais']; }
if(isset($_POST['estado'])){ $cod_esta = $_POST['estado']; }
if(isset($_POST['correo'])){ $mail = $_POST['correo']; }
if(isset($_POST['clave'])){ $pass = $_POST['clave']; }

if (isset($_REQUEST['registrar']))
{
if ($_POST['pais'] != '' && $_POST['estado'] != '')
{

//ESTO ES UNA CONSULTA ANTES DE INGRESAR A VER SI YA EXISTE ESE REGISTRO EN LA BD SI DESEAN TAMBIÉN HACER UN SELECT CON MYSQLI

$cedula= $_POST['cedula'];
$resultado = mysqli_query($q,"SELECT cedula FROM crb_cliente WHERE cedula = '$cedula'");
while($consulta=mysqli_fetch_array($resultado)){
if ($cedula == $consulta['cedula'])
$flag = 1;
else
$flag = 0;
}
if ($flag == 1){
echo ("<script language='javascript'>
alert ('Este cliente ya ha sido registrado...')
location.href = 'registro.php';
</script>");
}
else
{

mysqli_query($q,"INSERT INTO `tu_db`.`tu_tabla` (`nombre`,`apellido`, `cedula`, `pasaporte`, `fecha_nacimiento`, `telefono_movil`, `fecha_ingreso`, `codigo_pais`, `codigo_estado`,`correo`, `clave`) VALUES ('$nomb','$ape', '$ced', '$pasapor', '$fecha_nac', '$telf1', '$fecha_ing', '$cod_pai', '$cod_esta', '$mail', '$pass')");


echo ("<script language='javascript'>
alert ('Datos guardados exitosamente...')
location.href = 'index.php';
</script>");
}
}
else
{
echo ("<script language='javascript'>
alert ('Debe ingresar todos los datos obligatorios...')
location.href = 'registro.php';
</script>");
}
}
?>

Etiquetas: mysql_connect, sql-server
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 19:20.