Manupulacion de mysql y php

Hola de nuevo gracias por tu respuesta en el caso anterior, ahora me gustaría que me pudieras ayudar con lo siguiente: como te mencione anteriormente estoy desarrollado un simulador en php y mysql, y tengo el siguiente error,
mysql_fetch_array(): supplied argument is not a valid MySQL result resource, se presenta cuando quiero insertar, borrar, modificar en mi base de datos ley sobre este error en google.com pero lo único que se aconseja es que al final de la línea de código se agregue or die (mysql_error ()), pero al hacer esto no se presenta nada de nada lo otro era agregarle @ cosa que nada más era para no imprimiera el error el código que insertar es:
function insertar ()
{
$valores = array();
if($_SERVER['REQUEST_METHOD']=="POST")
{ $errores = array ();
$errores = validar_formulario ();
if( count($errores) == 0 )
{
$bd=new uniciencia(TIPO_BD,NOMBRE_HOST,NOMBRE_BD,USUARIO,CLAVE);
$sql="insert into programa (codigo_estudiante,nombre_estudiante,id_carrera) values ({$_REQUEST['codigo_estudiante']},'{$_REQUEST['nombre_estudiante']}',{$_REQUEST['id_carrera']})";
$bd->ejecutar($sql);
$resultado=$bd->obtener();
$bd->cerrar();
$valores = array();
}
else
{
$valores = $_REQUEST;
}
}
imprimir_formulario("insertar",$valores,$errores);
}
Bueno a un que no queda en el orden que seo espero que la comprendas para la conexión con la base de datos empleo una clase la cual he llamado uniciencia.class.php que es la siguiente:
function uniciencia($tipo_bd,$nombre_host,$nombre_bd,$usuario)
{
$this->conexion =mysql_pconnect("$nombre_host","$usuario","$clave");
mysql_select_db("uniciencia",$this->conexion);
$this->resultado=mysql_query($sql,$this->conexion)
or die (mysql_error());
$valores=mysql_fetch_array($this->resultado)
or die (mysql_error());
mysql_close($this->conexion);
}
La verdad resumí un poco para no hacerlo tan extenso nuevamente gracias por tu tiempo.

1 Respuesta

Respuesta
1
A ver... creo que tienes un error en el concepto de ambas funciones:
Mysql_fetch_array(): pone dentro de un array los resultados de una consulta a la db. Esta consulta tiene que ser necesariamente un "SELECT campo FROM ...".
mysql_affected_row(): devuleve el numero de filas afectadas por una operacion SQL del tipo INSERT, UPDATE y DELETE.
En consecuencia, una función no reemplaza a la otra, sino que cumplen tareas diferentes. Lo importante es que puedas diferenciar que tipo de función utilizar.
Si esto no aclara tus dudas, incluye las funciones faltantes en tu script.
He revisado el código junto a mi staff de programadores y todos coincidimos en los siguientes puntos:
* Cuando realizas una consulta a la base de datos para modificar, insertar o borrar datos, no tienes valores para utilizar la función mysql_fetch_array(). Le estas pidiendo a la base de datos que te devuelva los registros que concidan con parámetros inexistentes, pues no se trata de un SELECT. He ahi la razón del error
Puedes comprobar que si se realizó la operación en la base de datos con la función mysql_affected_rows(), pero en ningún caso, puedes pedir que la función mysql_fetch_array te devuelva algo coherente.
* En tu código existen llamados a funciones que no se visualizan. Creemos que es por el "resumen" que realizaste para no extender el post. Es necesario que conozca estas funciones para poder rutear el resultado.
Espero que la primera parte sea la solución a tu problema y si es así, no olvides cerrar la pregunta. Y si no lo es, espero las funciones faltantes para ver donde realmente está el error
Hola gracias por tu pronta respuesta, lo que me sugieres es que en ves de usar mysql_fetch_array use mysql_affected_rows, mi pregunta es la siguiente cuando quiero modificar con ejemplo que primero listo el contenido de la base de datos o mejor dicho de la tabla se imprimen los datos luego por medio de un enlace selecciono que dato deseo modificar cuando me muestra los datos puedo modificarlos y no guerda nada si no que regresa el error que te mencione, dime necesitas que te mande todas las funciones que empleo para el caso. Nuevamente gracias
Bueno en entonces cual función crees que debo utilizar para estos casos, y necesito envierte los script me regalas tu email para ello listo, nuevamente gracias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas