Aporte sobre subida Php a MySQL

Saludos, aún que soy totalmente nuevo en el diseño web llevo cerca de 2 años aprendiendo de esta web y finalmente me he decidido a participar en el foro (ya que anteriormente no pensaba que tuviera nada que aportar al mismo salvo dudas xD). Ahora que ya llevo 3 webs caseras (algunas con más exito que otras) me he puesto a aprender algo más que html y css y he pasado al Php y al MySQL (todo de CCW) y al termianr el curso de Php y MySQL me encontré con que el código que allí se refleja:

INSERT INTO `cartago_basedepruebas`.`USUARIOS` (`NOMBRE`, `EMAIL`, `URL`, `ESTADO`) VALUES ('$_POST[NOMBRE]', '$_POST[EMAIL]', '$_POST[URL]', '$_POST[ESTADO]');


no fucionaba dandome un error, no era error de apertura del servidor, si no de escritura, así que indagando por ahí encontre otro código (que tampoco funcionaba xD) y retocandolo conseguí este:

<?php
include("config.php") ;
mysql_connect($server, $db_user, $db_pass) or die ("error1".mysql_error());
mysql_select_db($database) or die ("error2".mysql_error());
[COLOR="red"][COLOR="deepskyblue"]mysql_query ([/COLOR]"INSERT INTO USUARIOS(`NOMBRE`, `EMAIL`, `URL`, `ESTADO`) VALUES ('$_POST[NOMBRE]', '$_POST[EMAIL]', '$_POST[URL]', '$_POST[ESTADO]'[COLOR="deepskyblue"])"[/COLOR]);[/COLOR]
?>

Las partes en azul son las partes que faltaban y lo rojo lo que me dió el curso de CCW.
¿A que viene todo esto? Pues nada, era solo un aporte ya que pienso que queda un poco confuso y la gente que no sea tan cabezota como yo se puede frustrar y mandar a la porra el curso que vale su código en oro. Pues esto es todo. Un saludito!!!
La verdad es que es un buen aporte, porque yo he respondido al menos 2 veces el mismo problema: gente que no entendió (entendible, sobre todo si nunca han programado o no tienen idea de lo que es programar) que la consulta SQL es una cadena (string) por lo que debe ir encerrada entre comillas dobles o simples. Eso debería ser añadido al curso, para evitar confusiones :D.

Saludos :D.
Y te funciono? yo uso otra sintaxis:

$sentencia = "INSERT INTO USUARIOS(`NOMBRE`, `EMAIL`, `URL`, `ESTADO`) VALUES ('$_POST', '$_POST[correo eliminado]', '$_POST', '$_POST')";
$resultado = mysql_query($sentencia);
waldragon

Y te funciono? yo uso otra sintaxis:

$sentencia = "INSERT INTO USUARIOS(`NOMBRE`, `EMAIL`, `URL`, `ESTADO`) VALUES ('$_POST', '$_POST[correo eliminado]', '$_POST', '$_POST')";
$resultado = mysql_query($sentencia);


La verdad es que sí me funciona, ya he realizado 4 o 5 registros sin ningún problema hasta el momento. Mirando por encima tu sintaxis no veo por que no pueden funcionar las dos xD ya que creo que es una forma de decir lo mismo así que nada JAJAJAJ ya tenemos 2 formas de meter datos en el servidor.

skaparate

La verdad es que es un buen aporte, porque yo he respondido al menos 2 veces el mismo problema: gente que no entendió (entendible, sobre todo si nunca han programado o no tienen idea de lo que es programar) que la consulta SQL es una cadena (string) por lo que debe ir encerrada entre comillas dobles o simples. Eso debería ser añadido al curso, para evitar confusiones :D.

Sí, más que nada lo pusé por eso, por que yo me destroce (poco xD) la cabeza para sacarlo y si eres nuevo en esto es normal que a cualquier tontería te pierdas.

Un saludo!
A ver si Jorgens retoca un poco el curso para que quede más clarito, buen aporte :D
La verdad es que sí me funciona, ya he realizado 4 o 5 registros sin ningún problema hasta el momento. Mirando por encima tu sintaxis no veo por que no pueden funcionar las dos xD ya que creo que es una forma de decir lo mismo así que nada JAJAJAJ ya tenemos 2 formas de meter datos en el servidor.

Las dos formas funcionan, pero es mejor utilizar variables al pasar parámetros de función, simplemente para hacer más leíble o claro el código. El que el código sea claro ayuda MUCHO a la hora de encontrar errores.

A ver si Jorgens retoca un poco el curso para que quede más clarito

También creo lo mismo :D.

Saludos.
Entonces, perdonad mi torpeza, pero ¿Cual de los dos códigos es más claro? Lo digo por autocorregirme e ir mejorando la técnica además de la teoría.
El código de waldragon sería más claro en un proyecto GRANDE, pero en este caso, ambos son igualmente claros, puesto que no hay mucho que analizar. Como te digo, esto solamente ayudará al momento de corregir errores, puesto que "el orden de los factores no altera el producto" (aunque esto no es cierto para lenguajes como Python, en el que el orden del código - especialmente la indentación - sí es - muy - importante).

Saludos :D.
skaparate escribió:El código de waldragon sería más claro en un proyecto GRANDE, pero en este caso, ambos son igualmente claros, puesto que no hay mucho que analizar. Como te digo, esto solamente ayudará al momento de corregir errores, puesto que "el orden de los factores no altera el producto" (aunque esto no es cierto para lenguajes como Python, en el que el orden del código - especialmente la indentación - sí es - muy - importante).

Saludos :D.

A pues muchas gracias, lo tendré en cuenta. ^^
waldragon escribió:Y te funciono? yo uso otra sintaxis:

$sentencia = "INSERT INTO USUARIOS(`NOMBRE`, `EMAIL`, `URL`, `ESTADO`) VALUES ('$_POST', '$_POST[correo eliminado]', '$_POST', '$_POST')";
$resultado = mysql_query($sentencia);

Creo que el estaba siendo sarcastico algo como : "el codigo de jorgens era INSERT INTO USUARIOS(`NOMBRE`, `EMAIL`, `URL`, `ESTADO`) VALUES ('$_POST', '$_POST[correo eliminado]', '$_POST', '$_POST' no porque estuviera mal e hicera falta mysql_query ..... si no que estaba dentro de una variable para acortar codigo y despues declarada dentro de un mysql_query($sentencia) ..... era como decir "No hacia falta hacer eso del mysql_query ya que tambien se puede sin ella"

En fin.....