Foro de elhacker.net

Programación => Bases de Datos => Mensaje iniciado por: Drakaris en 18 Abril 2018, 22:21 pm



Título: No puedo modificar la tabla DB porque me detecta ',
Publicado por: Drakaris en 18 Abril 2018, 22:21 pm
Hola tengo un formulario dónde tengo que especificar que tabla de la base de datos tengo que modificar. Pero cuando le doy en modificar, me sale un error
Código:
error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' materia=, asunto=ddddfdsffa, tarea=, evento=dddddfdWHERE fecha=2018-04-12, tipo' at line 1

Código:
<?php
$servername = "xxxxxxx";
$username = "xxxxxxxx";
$password = "xxxxxxx";
$dbname = "xxxxxxx";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Desconectado" . $conn->connect_error);
}
$fecha= $_POST['seleccionar_fecha'];
$tipoevento_se = $_POST['especificar_tipoEventos'];
$materia_se = $_POST['especificar_materiabox'];
$asunto_se = $_POST['especificar_asuntobox'];
mysql_real_escape_string($conn, $_POST['seleccionar_fecha']);
mysql_real_escape_string($conn, $_POST['especificar_asuntobox']);
mysql_real_escape_string($conn, $_POST['especificar_materiabox']);
mysql_real_escape_string($conn, $_POST['especificar_TipoEventos']);
$tipoevento = $_POST['modificar_tipoEventos'];
$otro = $_POST['modificar_otroTipoEventos'];
$materia = $_POST['modificar_materiabox'];
$asunto = $_POST['modificar_asuntobox'];
$tarea = $_POST['modificar_tareabox'];
$evento = $_POST['modificar_eventobox'];
mysql_real_escape_string($conn, $_POST['modificar_tipoEventos']);
mysql_real_escape_string($conn, $_POST['modificar_otroTipoEventos']);
mysql_real_escape_string($conn, $_POST['modificar_materiabox']);
mysql_real_escape_string($conn, $_POST['modificar_asuntobox']);
mysql_real_escape_string($conn, $_POST['modificar_tareabox']);
mysql_real_escape_string($conn, $_POST['modificar_eventobox']);
$sql = "UPDATE 1esoacalendar SET tipoevento=".$tipoevento.", otro=".$otro.", materia=".$materia.", asunto=".$asunto.", tarea=".$tarea.", evento=".$evento."WHERE fecha=".$fecha.", tipoevento=".$tipoevento_se.", materia=".$materia_se.", asunto=".$asunto_se."";

if ($conn->query($sql) === TRUE) {
    echo $sql;
} else {
    echo "error: ".$conn-> error;
}
$conn->close();
?>
No sé de donde sale esa comilla. Y creo que en teoría esta bien.
Código:
$sql = "UPDATE 1esoacalendar SET tipoevento=".$tipoevento.", otro=".$otro.", materia=".$materia.", asunto=".$asunto.", tarea=".$tarea.", evento=".$evento."WHERE fecha=".$fecha.", tipoevento=".$tipoevento_se.", materia=".$materia_se.", asunto=".$asunto_se."";

Gracias por vuestra atención


Título: Re: No puedo modificar la tabla DB porque me detecta ',
Publicado por: vicram10 en 13 Mayo 2018, 22:00 pm
todos los campos que son "string" deben ir dentro de comilla simple, y los numericos no hace falta, estas haciendo de esa manera?