Dudas con insertar datos de un formulario de registro a Mysql

Hola a todos.
Tengo poco tiempo aprendiendo con ustedes a crear páginas web sin tener ningún tipo de conocimientos previos y tengo algunas dudas con la sección de insertar datos en Mysql. Primero he creado un formulario de registro: correo, contraseña, usuario, nombre, apellido teléfono y estado. También he creado la base datos y la tabla de usuarios con los mismos datos añadiendo Id- smallint-auto-incremetable- y primaria key. Hasta aquí es fácil. Luego al crear conf.php surge mi primera duda. $server, $database, $db_user, $db_pass, $table( este último lo vi en un tutorial del foro). Pero en mi hosting no hay clave para la base de datos. Aquí va mi primera pregunta ¿Este es el orden en que deben estar? O en mi caso deber ser algo asi: $serve,$user,$user_pass,$database,$table y esta misma duda aplica a insertardatos.php en mysql_connect($server, $db_user, $db_pass) or die ("error1".mysql_error()); . Segunda duda es sobre como revisar de que no se creen dos usuarios iguales he visto que se usa estas 2 mysql_fetch_array() o $num_rows = mysql_num_rows($qry); if ($num_rows != 0) {
Aunque he buscado el significado de las dos no he logrado aclarar las dudas ¿Cuál es la Forma más apropiada? ¿En qué caso aplicar cada una? ¿Cuál es la apropiada para lo que estoy haciendo? Y por ultimo esto es correcto: $insert = mysql_query("insert into $table values ( '".$_POST['CORREO']."', '".$_POST['CONTRASEÑA']."', '".$_POST['USUARIO']."', '".$_POST['NOMBRE']."', '".$_POST['APELLIDO']."', '".$_POST['TELEFONO']."')")or die("Could not insert data because ".mysql_error()). O esta es la forma en que debe ser: mysql_query("INSERT INTO users (CORREO,CONTRASEÑA,USUARIO,APELLIDO,TELEFONO,ESTADO) values ('$CORREO','$CONTRASEÑA','$USUARIO','$APELLIDO','$TELEFONO','$ESTADO') ");
echo 'Usuario registrado con éxito'; si alguien pudiera ayudarme o indicarme un tutorial donde expliquen paso a paso y que significa cada cosa y para que se usan de manera clara y nada complicada como explican aquí cctw. Gracias por anticipado.
Hola:

En el archivo conf.php no importa el orden de las variables (cualquier cosa que comience por un signo dinero $ es una variable), pues todas las variables definidas aquí estarán disponibles en todo el archivo donde se incluya (include( 'conf.php' );). Si la conexión con la base de datos no necesita una contraseña, entonces dejas en blanco $db_pass y listo :D. La función mysql_connect() necesita tres parámetros (en este orden):

1.- El nombre del host o dominio donde esta alojado MySQL.
2.- El nombre de usuario para conectarse a la base de datos.
3.- La contraseña para conectarse a la base de datos.

Sabiendo lo anterior, entonces siempre debes conectarte a la base de datos así: mysql_connect( 'dominio', 'nombre_usuario_base_datos', 'contraseña_base_datos' );. Ahora, mysql_connect devuelve una conexión, por lo que deberías conectarte así: $link = mysql_connect( 'dominio', 'nombre_usuario_base_datos', 'contraseña_base_datos' );, para guardar la conexión y poder manipularla (para poder cerrar la conexión, por ejemplo).

Segunda pregunta: lo que publicaste es bastante vago, por ende no hace nada. Lo que debes hacer, después de haber obtenido un enlace (lo que dije en el párrafo anterior), es preguntar a la base de datos si existe algún usuario con el nombre que el usuario que intenta registrarse eligió:

<?php
  include_once( 'config.php' );
  // Los siguientes serán los datos enviados desde el formulario (<form action="insertardatosentabla.php">...</form>); no los incluiré todos :P
  $nombre = $_POST['nombre'];  // Si en tu formulario está en mayúsculas, entonces aquí también debería estarlo.
  $email = $_POST['email'];
  $nickname = $_POST['nickname'];

  $con = mysql_connect( $server, $db_user, $db_pass );
  mysql_select_db( 'nombre_base_datos', $con ) or die ( 'No se pudo seleccionar la base de datos: ' . mysql_error( $con ) );
  $result = mysql_query( "SELECT id FROM $tabla WHERE nickname = '$nickname'" ); 
  // La línea anterior pregunta a la base de datos:
  // extrae la columna 'id' de la $tabla donde la columna nickname sea igual al contenido de la variable $nickname.
  // Cuando se ejecutan consultas de tipo SELECT (existen también INSERT, DELETE y UPDATE entre otras), o sea, consultas que extraigan datos, mysql_query devuelve false
  // si es que no hubieron resultados, de lo contrario devuelve un recurso (un recurso es un tipo de dato en PHP.

  if( $result == false ) {  // Si no hay resultados quiere decir que no existe un usuario con con el mismo nickname.
    // Aquí es donde se procede a registrar al usuario, pues quiere decir que no existe un usuario con el mismo nickname.
    $insert = mysql_query("INSERT INTO $table (CORREO,CONTRASEÑA,USUARIO,APELLIDO,TELEFONO,ESTADO)  values ( '".$_POST['CORREO']."', '".$_POST['CONTRASEÑA']."', '".$_POST['USUARIO']."', '".$_POST['NOMBRE']."', '".$_POST['APELLIDO']."', '".$_POST['TELEFONO']."')");
    // Cuando las consultas modifican datos, mysql_query devuelve un número entero representando las filas afectadas en la base de datos
    if( $insert > 0 ) // por ende, en esta línea, se pregunta si $insert es mayor a 0, lo que significa que al menos 1 fila se modificó
      echo "<p>Usuario creado</p>"; // Lo que significa que el usuario se creó.
    else // Si no es mayor a 0, entonces ocurrió un error al crear el usuario.
      echo "<p>Ocurrió un error al crear el usuario: " . mysql_error( $con ) . ".</p>";
  }
  else { // De lo contrario el usuario existe:
    // Se muestra un mensaje explicando lo ocurrido.
    
    echo "<p>El usuario ya existe, seleccione uno distinto</p>";
  }
  mysql_free_result( $insert ); // mysql_free_result libera los resultados generados por consultas
  mysql_free_result( $result );
  mysql_close( $con ); // mysql_close cierra la conexión con la base de datos.
?>

Ahora, la diferencia entre $insert = mysql_query("insert into $table values ( '".$_POST['CORREO']."', '".$_POST['CONTRASEÑA']."', '".$_POST['USUARIO']."', '".$_POST['NOMBRE']."', '".$_POST['APELLIDO']."', '".$_POST['TELEFONO']."')")or die("Could not insert data because ".mysql_error()) y esta mysql_query("INSERT INTO users (CORREO,CONTRASEÑA,USUARIO,APELLIDO,TELEFONO,ESTAD O) values ('$CORREO','$CONTRASEÑA','$USUARIO','$APELLIDO','$ TELEFONO','$ESTADO') ");, es que la primera obliga que se especifiquen los values tal cual esta definido en la base de datos sin que falte ninguno, en cambio en la segunda se especifican las columnas que van a ser insertadas junto a sus respectivos valores (en el mismo orden, de lo contrario mysql_query devolverá un error).

Espero que te que de claro :D, sino vuelves a preguntar.
Con tu explicación si entiendo y muchas gracias por tomar tiempo para ello. La primera parte me quedo muy claro. En la segunda lo que sucedió es que en el curso Php y Mysql todavía no han añadido las opciones de obtener respuesta de la base de datos, han quedado con insertar datos. De manera que no tenía la menor idea de como hacer; Busque en los tutoriales en el foro pero no encontré, Hay 3 muy buenos tutoriales que le han sido muy útiles a muchas personas pero en la parte de obtener respuestas de mysql prácticamente te dicen que copies los datos y con eso siento como si caminara a ciegas. http://www.comocreartuweb.com/consultas/showthread.php/34310-TUTORI…
http://www.comocreartuweb.com/consultas/showthread.php/29033-Crear-…
Investigue lo que colocaban con respecto a mysql_num_rows: Obtener el número de filas de un resultset. Este comando es únicamente válido para sentencias como SELECT o SHOW que retornan un resultset real.mysql_fetch_array: Extrae la fila de resultado como una matriz asociativa, una matriz numérica o ambas. Es una versión extendida de mysql_fetch_row(). Además de guardar los datos en el índice numérico de la matriz, guarda también los datos en los índices asociativos, usando el nombre de campo como clave. Si dos o más columnas del resultado tienen el mismo nombre de campo, la última columna toma la prioridad. Para acceder a la(s) otra(s) columna(s) con el mismo nombre, se debe especificar el índice numérico o definir un alias para la columna. En columnas con alias, usted no puede acceder al contenido con el nombre original de la columna. Y lo primero que dije es ¿Con que se come esto? Y luego de pasarme horas investigando lo único que pude entender es que el mysql_num_rows fue usado para solo obtener repuesta de EL id (valor numérico) de la tabla y con el otro tutorial mysql_fetch_array para el valor numérico junto a uno de asociación del nick. (No sé si estoy en lo correcto) pero el proceso que conllevan para obtener el resultado no entiendo nada. Pero tu explicación es más clara.
Incluye-once: solo incluye una vez a config.php. Conectar con el servidor, luego con la base datos activándola y el $result = mysql_query para hacer peticiones a la base de datos ($result: Supongo pidiendo resultado) y ( "SELECT id FROM $tabla WHERE nickname = '$nickname'"); Creo que se está seleccionando el id que cree en la tabla para asociarlo al Nick en mi caso (USUARIO). Luego que verifique que el usuario está disponible, es que inserta los datos en la tabla y lo demás esta muy claro. Muchas gracias.
Me parece bien que investigues por tu cuenta, pues creo que es la mejor forma de encontrar una respuesta apropiada para cada uno.

include_once( 'ruta_relativa' ) inserta todo lo que haya en el archivo, pero a diferencia de include, include_once detiene la ejecución del script si es que no encuentra el archivo. Por ejemplo, si le dices include_once( 'script/validar_email.php' ) y la carpeta o el archivo no existen, PHP no ejecutará lo que sigue después de esta línea y mostrará un mensaje de error.

El mejor lugar donde encontrar información clara (a mi juicio) es en el manual de PHP. En este manual puedes aprender cómo instalarlo (pasando por la compilación del programa), funciones sobre bases de datos (no solo para MySQL, también para Oracle y MS SQL entre otras), etc., todo lo que se te ocurra.

Saludos.