entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

2votos

como corregir los errores de mysql

este problema es fastidioso no se como resolverlo lo he intentado de todo
entonces esto es lo que pasa cuando envio una consulta a la base de datos mysql desde php este responde con errores a pesar que la sintaxis esta escrita correctamente
pero sin embargo si lo hago desde la interfaz de phpmyadmin todo funciona bien
cuando intento hacer una consulta desde la consola de phpmyadmin me devuelve este mensaje
Query SQL:


INSERT INTO `usuarios` ('id', 'nome', 'telefono', 'email', 'password') VALUES (NULL,'$nome', '$telefono', '$email', '$password')
Messaggio di MySQL: Documentazione

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ''id', 'nome', 'telefono', 'email', 'password') VALUES (NULL,'$nome', '$telefono'' at line 1

bueno volviendo al caso les comparto el codigo

este es naturalmente el script de conexion


**_$server = "localhost";
$user= "[email protected]";
$password="";
$db = "registro";

$conex = mysql_connect("$server", "$user", "$password", "$db");_**

este fichero se encarga de registrar los datos en mysql 
<?php

**$nome= $_POST['nome'];
$telefono = $_POST['telefono'];
$email = $_POST ['email'];
$password = $_POST['password'];

include ("conexion.php");

$sql = "INSERT INTO `usuarios` ('id', 'nome', 'telefono', 'email', 'password') VALUES (NULL,'$nome', '$telefono', '$email', '$password')";

$consulta = mysql_query($sql, $conex);

//$envio = mysql_query($sql, $conex);

if (!$consulta) {echo"error ";} else {"consulta enviada";} // 

mysql_close($conex);  //cerrar la conexion con la bd**
?>

por ultimo el script que verifica la existencia de un usuario registrado

**$email = $_POST['email'];
$password = $_POST['password'];

include("conexion.php");

$consulta = "SELECT * FROM 'usuarios' WHERE  email ='$email' AND password ='$password' ";
mysql_query($consulta. $conex);

if(!$consulta) {echo "error";} else {echo "consulta enviada";}

$conteo = mysql_num_rows($consulta);   //_ mysql_num_rows() expects parameter 1 to be resource_

if ($conteo > 0)
 {
   header ("location:perfil.php");
 }
  else
  {
   echo nl2br ("usuario inexistente");
  }

//if (!$conteo) {echo "el usuario no existe" ;} else {echo "usuario verificado" ;}

mysql_close($conex);**

1voto

carlossevi comentado

No termino de entender si la misma consulta te funciona cuando la ejecutas desde PhpMyAdmin porque tan pronto dices que "sin embargo si lo hago desde la interfaz de phpmyadmin todo funciona bien" como "cuando intento hacer una consulta desde la consola de phpmyadmin me devuelve este mensaje" cuando claramente es un mensaje de error. ¿Esa misma consulta devuelve o no devuelve error desde PhpMyAdmin?

1voto

Peter comentado

¿Lo solucionaste?

2 Respuestas

1voto

Alex_Numpaque Puntos16690

Intenta usar la etiqueta mysqli, dado que la etiqueta mysql es obsoleta
Clase conexión

$hostname_conexion = "localhost";
$database_conexion = "sigep";
$username_conexion = "root";
$password_conexion = "";

$mysqli = new mysqli($hostname_conexion,$username_conexion,$password_conexion,$database_conexion);

/* comprobar la conexión */
if (mysqli_connect_errno()) {
    printf("Falló la conexión: %s\n", mysqli_connect_error());
    exit();
} 

?> 

luego capturo los datos en otro archivo php

<?php 
  //Llamado a la clase conexión
    require_once '../Conexion/conexion.php';
  //Creación de session
    session_start();
  //Variables de captura de datos enviados
    $nombre = '"'.$mysqli->real_escape_string(''.$_POST['nombre'].'').'"';
    //Definción de variable $sql con la consulta de inserción de datos
  $sql = "INSERT INTO gf_clase_retencion (Nombre) VALUES ($nombre)";
  //Cargado de la consulta a la clase conexión y declaración y definción de la variable $resultado
    $rs = $mysqli->query($sql);
 ?>

2votos

manuel26892 Puntos1360

Hola @stevenpro97 como bien dice @Jhon_Numpaque usa mejor mysqli, además supongo que el campo id será autoincremental, si es así no pongas null, simplemente no pongas nada, la propia tabla se encargará de asignarle la siguiente id que le corresponda.

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta