Como guardar el valor de un array en base de datos

Tengo una aplicación la cual tiene como inicio la autentificación pero necesito guardar el usuario en la base de mySQL, el dato esta en $campo[0] que es un array pero no se como guardarlo ya que lo intente de varias formas y no lo he conseguido al darle echo $campo[0] me lo muestra, ademas quisiera saber en la base de datos bajo que tipo de dato se guarda, adjunto el script .
if ((tiny_mce_markerSERVER['PHP_AUTH_USER']==$campo[0]) && (tiny_mce_markerSERVER['PHP_AUTH_PW']==chop($campo[1]))) $validado=true;
1

1 respuesta

Respuesta
1
El script esta incompleto, eso es solo una condición que compara dos datos en dos arreglos, a parte de cambiar el valor de $validado a verdadero no guarda absolutamente nada en ningún lado.
Sin embargo el código para guardar algo en una base de datos es:
$sql = "INSERT into tabla(campo1, campo2) VALUES('$variable', '$arreglo[$indice]')";
$a=mysql_query($sql,$link);
if (!$a) {
    echo "No pudo ejecutarse satisfactoriamente la consulta" . "en la BD: " . mysql_error();
    exit;
}
Donde $link es la variable que usas para mantener la conexión con la base de datos
Las variables deben ser del mismo tipo que el campo donde se van a guardar
$indice puede ser un entero o una clave de diccionario, dependiendo de la forma en que estes manejando el arreglo.
Hola experto fíjate que ya probé pero no me graba el usuario ya no se que hacer te envío el script del ingreso y cuando se inserta la información la base, tengo en la base creado el nombre de usuario como varchar de 25 y que acepte valores null, podrías ver por favor cual es el problema.
script para ingreso de usuario
<?php
$id = tiny_mce_markerGET['id'];
function BuscarHD($PID, $es = 0){
$link = mysql_connect("localhost", "root", "");
mysql_selectdb("foro", $link);
$res = mysql_query("SELECT * FROM foro WHERE PID = '".$PID."'", $link);
$num = mysql_num_rows($res);
if (!$num) {mysql_free_result($res); return FALSE;}
for ($num--; $num >= 0; $num--){
$tam = $es * 30;
echo "<SPACER SIZE=".$tam.">\n";
if ($es > 0)
mysql_data_seek($res, $num);
$row = mysql_fetch_array($res);
}
mysql_free_result($res);
return TRUE;
}
$link2 = mysql_connect("localhost", "root", "");
mysql_selectdb("foro", $link2);
$res2 = mysql_query("SELECT * FROM foro WHERE ID='$id'", $link2);
if (mysql_num_rows($res2) != 1) { echo "<H1> Error </H1>"; exit;}
$row = mysql_fetch_array($res2);
?>
scrip para insertar informacion en la base
<?php
$pid = tiny_mce_markerPOST['pid'];
$nombre = tiny_mce_markerPOST['nombre'];
$texto = tiny_mce_markerPOST['texto'];
$texto2 = tiny_mce_markerPOST['texto2'];
$puesto = tiny_mce_markerPOST['puesto'];
$fecha=date("Y/n/d/h/m/s");
$link = mysql_connect("localhost", "root", "");
mysql_selectdb("foro", $link);
$res = mysql_query("INSERT INTO foro (PID, nombre, texto, texto2, puesto, fecha, usuario) VALUES ('$pid', '$nombre', '$texto', '$texto2', '$puesto', '$fecha', '$campo[0]')", $link);
if (mysql_affected_rows($link) != 1) {echo "<H1> error </H1>"; exit;}
?>
<SCRIPT LANGUAGE="JavaScript">
location.href="mostrarforo.php3";
</SCRIPT>
Por lo que puedo leer, la función de inserción agrega un registro a la tabla de mensajes del foro, no a la tabla de usuarios. Sin embargo si esto tampoco lo hace sugiero que uses este código para obtener información más precisa acerca del error:
if (!$res) {
echo "No pudo ejecutarse satisfactoriamente la consulta" . "en la BD: " . mysql_error();
exit;
}

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas