Foros del Web » Programando para Internet » PHP »

insertar url en campo de db al iniciar sesion los usuarios

Estas en el tema de insertar url en campo de db al iniciar sesion los usuarios en el foro de PHP en Foros del Web. Ya he cambiado esa parte que has comentado kip13 , y tu código $usuario =mysqli_real_escape_string( $conexion,$_POST['usuario']); no me da error, pero en el UPDATE sigue ...

  #31 (permalink)  
Antiguo 30/04/2016, 13:17
Avatar de jearj  
Fecha de Ingreso: julio-2008
Mensajes: 72
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: insertar url en campo de db al iniciar sesion los usuarios

Ya he cambiado esa parte que has comentado kip13 , y tu código $usuario =mysqli_real_escape_string( $conexion,$_POST['usuario']); no me da error, pero en el UPDATE sigue saliendo este error:

UPDATE usuarios SET online='conectado.png' WHERE usuario_id=''Error al ejecutar la sentencia:
  #32 (permalink)  
Antiguo 30/04/2016, 13:22
Avatar de jearj  
Fecha de Ingreso: julio-2008
Mensajes: 72
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: insertar url en campo de db al iniciar sesion los usuarios

Ya tengo el sistema de inicio de sesión ahora lo que quiero es acoplarle esto:
<?php
include('acceso_db.php');
$online = $_POST['online'];
$id_usuario = $_POST['id_usuario'];

$consulta="UPDATE usuarios SET online='conectado.png' WHERE id_usuario='$id_usuario'";

// Visualizar la query completa:
echo $consulta;

$fil = mysqli_query($conexion, $consulta) or die("Error al ejecutar la sentencia: ".mysqli_error($conexion));
?>

Que es lo que esta en color rojo en el mensaje #24 anterior.
  #33 (permalink)  
Antiguo 30/04/2016, 13:25
Avatar de jearj  
Fecha de Ingreso: julio-2008
Mensajes: 72
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: insertar url en campo de db al iniciar sesion los usuarios

Simplemente es subir esta url: conectado.png a la db al mismo tiempo que se inicia sesión
  #34 (permalink)  
Antiguo 30/04/2016, 13:28
Avatar de kip13  
Fecha de Ingreso: agosto-2011
Mensajes: 167
Antigüedad: 13 años, 3 meses
Puntos: 13
Respuesta: insertar url en campo de db al iniciar sesion los usuarios

Pero tienes todo configurado con la libreria mysqli? me refiero a todos los archivos PHP, te pregunto porque si no es asi es por eso, leyendo el codigo que posteaste antes completo con el form me fije en eso, en el inicio de sesion usabas mysql y en el de cargar la url mysqli.

Puedes postear todo tu codigo, incluyendo el archivo que conectas a tu base de datos?
  #35 (permalink)  
Antiguo 30/04/2016, 13:49
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 9 años, 5 meses
Puntos: 263
Respuesta: insertar url en campo de db al iniciar sesion los usuarios

esta como largo esto por un UPDATE, creo que esta mezclando mysql con mysqli entre o6ras cositas por alli, tendria que postear todo el codigo, ahora bien, no veo porque hacer includes de archivos cuando son verdaderamente cortos y toda la validacion y actualizacion podria estar en uno solo.
__________________
[email protected]
HITCEL
  #36 (permalink)  
Antiguo 30/04/2016, 14:05
Avatar de kip13  
Fecha de Ingreso: agosto-2011
Mensajes: 167
Antigüedad: 13 años, 3 meses
Puntos: 13
Respuesta: insertar url en campo de db al iniciar sesion los usuarios

Cita:
Iniciado por jearj Ver Mensaje
Ya he cambiado esa parte que has comentado kip13 , y tu código $usuario =mysqli_real_escape_string( $conexion,$_POST['usuario']); no me da error, pero en el UPDATE sigue saliendo este error:

UPDATE usuarios SET online='conectado.png' WHERE usuario_id=''Error al ejecutar la sentencia:
Aquel error, si esta ejecuntandose junto con la libreria adecuada deberia mostrar algun E_WARNING() si no establece la conexion con la baseo algo referente a la tabla en cuestion, pero al parecer no lo muestra tan solo te muestra aquel mensaje de que no ejecuta la sentencia y supongo que es como dice xfxstudios porque mezclas algunas cosas, creo especificamente como te mencione alla arriba mysqli y mysql son las que posiblemente esten mezcladas, deberias especificar una sola libreria para ejecutar las sentencias de la misma, yo he pasado por ese error al inicio, creeme cuando te lo digo.

Adjunta todo tu codigo, quizas algun errorsillo tienes por alli que se te esta escapando aparte de lo ya mencionado.

Saludos
  #37 (permalink)  
Antiguo 30/04/2016, 14:18
Avatar de jearj  
Fecha de Ingreso: julio-2008
Mensajes: 72
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: insertar url en campo de db al iniciar sesion los usuarios

Gracias por tu atención kip13

hare lo que me dices y a ver que ocurre
  #38 (permalink)  
Antiguo 30/04/2016, 14:25
Avatar de jearj  
Fecha de Ingreso: julio-2008
Mensajes: 72
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: insertar url en campo de db al iniciar sesion los usuarios

Otra cosa

He probado el código que has puesto y sube la url pero la sube a una línea temperar que crea, no a la columna online del usuario que inicia sesión.

además se queda en el archivo comprobar.php, y en blanco le he puesto un header y no sirve
  #39 (permalink)  
Antiguo 30/04/2016, 14:38
Avatar de kip13  
Fecha de Ingreso: agosto-2011
Mensajes: 167
Antigüedad: 13 años, 3 meses
Puntos: 13
Respuesta: insertar url en campo de db al iniciar sesion los usuarios

No entiendo, debes colocar aqui tu codigo para ayudarte mejor, ademas tambien la estructura de tu tabla tiene que contener los campos que insertas, verificas o actualizas, recuerda eso.
  #40 (permalink)  
Antiguo 01/05/2016, 05:59
Avatar de jearj  
Fecha de Ingreso: julio-2008
Mensajes: 72
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: insertar url en campo de db al iniciar sesion los usuarios

A la tabla solo le añadí el campo online para albergar la url
que es el campo que visualizo en la lista de usuarios, para que se vea quien esta conectado y quien no. Lo que pretendo es que cuando el usuario conecta se suba la url conectado.png al campo online de la tabla usuarios, solo quedaría que cuando desconecte se suba al mismo campo online, la url desconectado.png para remplazar a la que se sabio cuando conecto (conectado.png)

Pero esto ya se esta saliendo de líneas `Ya me rindo´

Ahora estoy probando esto que me aconsejaron en un mensaje anterior:

<?php
$consulta="UPDATE usuarios SET online = '$estado' WHERE id_usuario = '$id_usuario' ";

if($row['campo'] == "Inline"){
$img = "conectado.png";
}else{
$img = "desconectado.png";
}
?>

<img src="directorio/<?php echo $img; ?>">


Pero en el SET cuando pone esto: $estado me pierdo.

Y el if tampoco se por donde va

if($row['campo'] == "Inline"){

No se si en 'campo' tengo que poner 'online' o si debo ponerlo en 'inline' o si debo crear otro campo en la Tabla, o si le falta algo al código para ejecutarlo.

Si me explica un poco este, es posible que me sirva mucho mejor que la otra forma.
  #41 (permalink)  
Antiguo 01/05/2016, 07:06
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 9 años, 5 meses
Puntos: 263
Respuesta: insertar url en campo de db al iniciar sesion los usuarios

pienso que estas trabajando de mas, porque no solo tienes una tabla para mejor control donde se agregue la id del usuario o los usuarios conectados y cuando se desloguee esta id se elimine, asi controlarías mejor la lógica y el mantenimiento de tu aplicación. De esa manera te crearias una validación que verifique si el usuario esta en esa tabla aparezca la imagen A y si no la imagen B, pienso es lo más practico y no esta de mas recordarte que todo tu codigo deberias de tenerlo en mysqli por las razones expuestas con anterioridad así como te recomendaría investigar un poco sobre las clases y funciones para que veas que puedes organizar mucho mejor tu código. Saludos
__________________
[email protected]
HITCEL
  #42 (permalink)  
Antiguo 01/05/2016, 07:26
Avatar de jearj  
Fecha de Ingreso: julio-2008
Mensajes: 72
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: insertar url en campo de db al iniciar sesion los usuarios

He probado lo del mysqli, incluyendo el archivo de conexión a db y me da error en todas las pag y todas las líneas que contenía mysqli.

Lo de la tabla online lo intentare, pero con otra cosa ya intente iniciar sesión en dos tablas a la vez y no funciono.
  #43 (permalink)  
Antiguo 01/05/2016, 07:41
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 9 años, 5 meses
Puntos: 263
Respuesta: insertar url en campo de db al iniciar sesion los usuarios

Cita:
Iniciado por jearj Ver Mensaje
He probado lo del mysqli, incluyendo el archivo de conexión a db y me da error en todas las pag y todas las líneas que contenía mysqli.

Lo de la tabla online lo intentare, pero con otra cosa ya intente iniciar sesión en dos tablas a la vez y no funciono.
en relación a lo primero puedes crearte un archivo php con el siguiente codigo:
Código PHP:
Ver original
  1. //mysqli está instalado
  2. echo “Si”;
  3. }

este te dira si tienes o no mysqli en tu sistema, en relacion a lo segundo, pues va a depender de como estes realizando el proceso, porque lo he usado muchas veces, incluso en una app actual y me va mas que perfecto, revisa la logia y el orden de tus codigos, pues creo que tienes mas de un problema alli.
__________________
[email protected]
HITCEL
  #44 (permalink)  
Antiguo 01/05/2016, 07:54
Avatar de NueveReinas  
Fecha de Ingreso: septiembre-2013
Ubicación: No tan Buenos Aires
Mensajes: 1.101
Antigüedad: 11 años, 2 meses
Puntos: 145
Respuesta: insertar url en campo de db al iniciar sesion los usuarios

Cita:
Iniciado por jearj Ver Mensaje
He probado lo del mysqli, incluyendo el archivo de conexión a db y me da error en todas las pag y todas las líneas que contenía mysqli.

Lo de la tabla online lo intentare, pero con otra cosa ya intente iniciar sesión en dos tablas a la vez y no funciono.
¿Qué error te da? Quizá la conexión a MySQL esté mal planteada.
__________________
¿Te sirvió la respuesta? Deja un +1
  #45 (permalink)  
Antiguo 01/05/2016, 12:45
Avatar de jearj  
Fecha de Ingreso: julio-2008
Mensajes: 72
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: insertar url en campo de db al iniciar sesion los usuarios

Este es el archivo de conexión a db:

<?php
session_start();

$host_db = "";
$usuario_db = "";
$clave_db = "";
$nombre_db = "";
$error = '<a href="javascript: window.history.back()"><< Regresar a solucionar el problema</a>';
$rango = $_SESSION["tipo"];

mysql_connect($host_db, $usuario_db, $clave_db);
mysql_select_db($nombre_db);




$hostname = '';
$user = '';
$pass = '';
$dbnombre = '';
$error = '<a href="javascript: window.history.back()"><< Regresar a solucionar el problema</a>';
$rango = $_SESSION["tipo"];


$conexion = mysql_connect($hostname, $user, $pass);
if(!$conexion) {
echo 'Ha sido imposible conectarse con el servidor, por favor llena los datos de <b>acceso_db.php</b> e int&eacute;ntalo de nuevo';
exit;
}
$db = mysql_select_db($dbnombre);
if(!$db) {
echo 'Ha sido imposible conectarse a la Base de Datos que proporcionaste, favor verifica si existe o si es correcta la que escribiste';
exit;
}



session_start();
if($rango == 2) {
$rango = 'Moderador Global';
}
elseif($rango == 1) {
$rango = 'Administrador';
}
elseif($rango == 3) {
$rango = 'Moderador';
}
elseif($rango == 4) {
$rango = 'Usuario';
}
?>

El error que me da cuando pongo mysqli, es el que esta con texto rojo.
  #46 (permalink)  
Antiguo 01/05/2016, 12:50
Avatar de jearj  
Fecha de Ingreso: julio-2008
Mensajes: 72
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: insertar url en campo de db al iniciar sesion los usuarios

he creado el archivo con esto que me has propuesto xfxstudios:

if (function_exists(‘mysqli_connect’)) {
//mysqli está instalado
echo “Si”;
}

Lo he puesto en las paginas mediante un include y no hace nada.
  #47 (permalink)  
Antiguo 01/05/2016, 13:00
Avatar de jearj  
Fecha de Ingreso: julio-2008
Mensajes: 72
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: insertar url en campo de db al iniciar sesion los usuarios

Esta es la tabla que intento usar:

tabla `usuarios`

`id_usuario` int(4) NOT NULL AUTO_INCREMENT,
`usuario` varchar(15) NOT NULL,
`edad` varchar(3) NOT NULL,
`email` varchar(50) NOT NULL,
`clave` varchar(32) NOT NULL,
`web` varchar(100) NOT NULL,
`red` varchar(100) NOT NULL,
`ip` tinytext NOT NULL,
`usuario_freg` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`tipo` enum('3','2','1') NOT NULL DEFAULT '3',
`comenta` varchar(1200) NOT NULL,
`avatar` varchar(500) NOT NULL,
`online` varchar(40) NOT NULL,

PRIMARY KEY (`usuario_id`),
UNIQUE KEY `usuario_email` (`usuario_email`),
UNIQUE KEY `usuario_nombre` (`usuario_nombre`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=11 ;
  #48 (permalink)  
Antiguo 01/05/2016, 14:19
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: insertar url en campo de db al iniciar sesion los usuarios

@ jearj: Por lo que se alcanza a entender de tu penúltimo post, estas abriendo una conexión usando la librería MYSQL de acceso a MySQL, e intentando ejecutar consultas con funciones de la MYSQLI...
Eso es simplemente imposible.
Son librerías incompatibles.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #49 (permalink)  
Antiguo 01/05/2016, 17:22
Avatar de NueveReinas  
Fecha de Ingreso: septiembre-2013
Ubicación: No tan Buenos Aires
Mensajes: 1.101
Antigüedad: 11 años, 2 meses
Puntos: 145
Respuesta: insertar url en campo de db al iniciar sesion los usuarios

Conecta con MySQLi.
__________________
¿Te sirvió la respuesta? Deja un +1
  #50 (permalink)  
Antiguo 02/05/2016, 01:09
Avatar de jearj  
Fecha de Ingreso: julio-2008
Mensajes: 72
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: insertar url en campo de db al iniciar sesion los usuarios

Esto es del sistema de Noticias que tengo
He cambiado todas las pag a mysqli y me da estos errores:


Warning: mysqli_select_db() expects parameter 1 to be mysqli, string given in /homepages/1/d342648143/htdocs/niduda/publicar/anuncios/juego-registro.php on line 43

Warning: mysqli_query() expects parameter 1 to be mysqli, string given in /homepages/1/d342648143/htdocs/niduda/publicar/anuncios/juego-registro.php on line 47

Warning: mysqli_error() expects exactly 1 parameter, 0 given in /homepages/1/d342648143/htdocs/niduda/publicar/anuncios/juego-registro.php on line 47


Este es el codigo con las lineas 43 y 47 marcadas con texto rojo:


<?php
error_reporting(E_ALL^E_NOTICE);
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
if (PHP_VERSION < 6) {
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
}

$theValue = function_exists("mysqli_real_escape_string") ? mysqli_real_escape_string($theValue) : mysqli_escape_string($theValue);

switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}

$currentPage = $_SERVER["PHP_SELF"];

$maxRows_noticias = 1;
$pageNum_noticias = 0;
if (isset($_GET['pageNum_noticias'])) {
$pageNum_noticias = $_GET['pageNum_noticias'];
}
$startRow_noticias = $pageNum_noticias * $maxRows_noticias;

mysqli_select_db($bd, $conexion); <-------- Línea 43
$query_noticias = "SELECT * FROM anuncios ORDER BY id_noticia ASC";
$query_limit_noticias = sprintf("%s LIMIT %d, %d", $query_noticias, $startRow_noticias, $maxRows_noticias);
$sitema='<!------texto aqui---------->';
$noticias = mysqli_query($query_limit_noticias, $conexion) or die(mysqli_error()); <-------- Línea 47
$row_noticias = mysqli_fetch_assoc($noticias);

if (isset($_GET['totalRows_noticias'])) {
$totalRows_noticias = $_GET['totalRows_noticias'];
} else {
$all_noticias = mysqli_query($query_noticias);
$totalRows_noticias = mysqli_num_rows($all_noticias);
}
$totalPages_noticias = ceil($totalRows_noticias/$maxRows_noticias)-1;$maxRows_noticias =4;
$pageNum_noticias = 0;
if (isset($_GET['pageNum_noticias'])) {
$pageNum_noticias = $_GET['pageNum_noticias'];
}
$startRow_noticias = $pageNum_noticias * $maxRows_noticias;

mysqli_select_db($database_conexion, $conexion);
$query_noticias = "SELECT * FROM anuncios ORDER BY id_noticia DESC";
$query_limit_noticias = sprintf("%s LIMIT %d, %d", $queryi_noticias, $startRow_noticias, $maxRows_noticias);
$noticias = mysqli_query($query_limit_noticias, $conexion) or die(mysqli_error());
$row_noticias = mysqli_fetch_assoc($noticias);

if (isset($_GET['totalRows_noticias'])) {
$totalRows_noticias = $_GET['totalRows_noticias'];
} else {
$all_noticias = mysqli_query($query_noticias);
$totalRows_noticias = mysqli_num_rows($all_noticias);
}
$totalPages_noticias = ceil($totalRows_noticias/$maxRows_noticias)-1;

$queryString_noticias = "";
if (!empty($_SERVER['QUERY_STRING'])) {

$params = explode("&", $_SERVER['QUERY_STRING']);
$newParams = array();
foreach ($params as $param) {
if (stristr($param, "pageNum_noticias") == false &&
stristr($param, "totalRows_noticias") == false) {
array_push($newParams, $param);
}
}
if (count($newParams) != 0) {
$queryString_noticias = "&" . htmlentities(implode("&", $newParams));
}
}
$queryString_noticias = sprintf("&totalRows_noticias=%d%s", $totalRows_noticias, $queryString_noticias);
$no='Si esta leyendo este mensaje es proque borraste los datos del autor';

?>

Estoy intentando pasar los códigos a mysqli, pero creo que dará mucho calentamientos de cabeza y no se si será posible mantener el mysqli.
  #51 (permalink)  
Antiguo 02/05/2016, 01:52
Avatar de jearj  
Fecha de Ingreso: julio-2008
Mensajes: 72
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: insertar url en campo de db al iniciar sesion los usuarios

Hay archivos que usa esto: ssql ¿ Debo ponerlo así ssqli ? y esto: sql ¿ También lo cambio a sqli ?

Última edición por jearj; 02/05/2016 a las 02:14
  #52 (permalink)  
Antiguo 02/05/2016, 02:49
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: insertar url en campo de db al iniciar sesion los usuarios

Pasar de MYSQL a MYSQLI no es simplemente cambiar el prefijo de uno a otro, también cambian el orden de los parámetros y hasta la forma de algunas funciones.
Por favor, lee cada caso en el manual y mira los ejemplos que hay en el mismo.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #53 (permalink)  
Antiguo 02/05/2016, 03:30
Avatar de jearj  
Fecha de Ingreso: julio-2008
Mensajes: 72
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: insertar url en campo de db al iniciar sesion los usuarios

Valla Tela

Esto parece que va para Largo.

imagínate:

Sistema de noticia que incluye: compartir noticias, sistema de usuarios, comentarios. Tres secciones con todo eso en cada una.
Sistema de perfiles que incluye: lista de usuarios con avatar, y datos del usuario, con contador de usuarios registrados y contador de usuarios activos, además de la adaptación para que el usuario pueda visitar el perfil del cualquier usuario. Además incluye un comentario personal que puede tener el usuario en su perfil. adaptaciones para que el mismo usuario pueda cambiar los datos de su registro desde el mismo perfil, o incluso borrar cualquier dato exceptuando email usuario y contraseña. que no pueden quedar vacíos.
Sistema de email masivo con todo lo que conlleva el sistema de administración e inscribirse o describirse el mismo usuario.
Además de todo esto, están los archivos sueltos como el sistema de recuperación de contraseña, el archivo de contacto que incluye enviar archivos adjuntos. etc.... etc. por lo que haya dejado en el aire, como las pag y demás.

Creo que esto podría llevarme demasiado tiempo

¿Qué problema hay si lo dejo todo en mysql?

Última edición por jearj; 02/05/2016 a las 03:35
  #54 (permalink)  
Antiguo 02/05/2016, 04:00
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: insertar url en campo de db al iniciar sesion los usuarios

Primero: Todo lo que nos describes es irrelevante. Podría ser programado en JSP, AS.NET o PHP y daría mas o menos lo mismo. No es el sistema el problema, sino tu desconocimiento de programación.

Dejarlo en la librería MYSQL no es una opción: Es obsoleta y ya no está soportada por las mas recientes versiones de PHP, por lo que tendrás problemas al subir los scripts a cualquier hosting (o casi cualquiera que sea mas o menos respetable).

El problema con que chocamos y chocas constantemente, sin pretender ser ofensivo o peyorativo, es que no eres metódico para analizar los problemas y persistes en suponer que desconocer el ingles de los manuales es un obstáculo para ti. Y no es así.
Casi ninguno de nosotros hablamos o leemos inglés de corrido, pero nos hemos habituado a entender el técnico. Es eso lo que debes lograr.
Luego, tienes que prestar atención a lo que tienes delante de los ojos en los manuales.

Cuando tu ves que en la descripción de mysql_query() dice así:
Código PHP:
Ver original
  1. mixed mysql_query ( string $query [, resource $link_identifier = NULL ] )

y en la de mysqli_query dice esto:

Código PHP:
Ver original
  1. mixed mysqli_query ( mysqli $link , string $query [, int $resultmode = MYSQLI_STORE_RESULT ] )

Es bastante evidente que el ORDEN de los parámetros es diferente, ya que en el primero el string $query aparece en primer lugar y en la mysqli, en segundo.. Y eso no es mucho esfuerzo de deducción.

Entonces, cuando te devuelve este error:
Cita:
Warning: mysqli_query() expects parameter 1 to be mysqli, string given in /homepages/1/d342648143/htdocs/niduda/publicar/anuncios/juego-registro.php on line 47
Es fácil ver que lo que te dice (traductor mediante) es quealgo está mal en la llamada que le llega. El parámetro 1 debería ser un objeto o variable MySQLI y está recibiendo un string.

No es mucho lo que tienes que analizar para darte cuenta que
Código PHP:
Ver original
  1. $noticias = mysqli_query($query_limit_noticias, $conexion) or die(mysqli_error());

Tiene los parámetros en el orden incorrecto, ¿no te parece? Debieran ser:

Código PHP:
Ver original
  1. $noticias = mysqli_query($conexion, $query_limit_noticias) or die(mysqli_error());

Los errores que se te producen son tan simples y sencillos que resulta extraño para nosotros que no los veas. No es que requieran mucho análisis. Lo que requieren es linea a linea revisando como están escritos, que es LO MISMO que hacemos todos nosotros cuando metemos la pata al programar.
No tiene ningún misterio, depurar es una tarea de meticulosidad y manuales.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 02/05/2016 a las 08:49
  #55 (permalink)  
Antiguo 02/05/2016, 04:22
Avatar de jearj  
Fecha de Ingreso: julio-2008
Mensajes: 72
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: insertar url en campo de db al iniciar sesion los usuarios

ok.
Ya entiendo lo que me dices.
Iré a revisar los archivos y ya te cuento.
  #56 (permalink)  
Antiguo 02/05/2016, 04:25
Avatar de jearj  
Fecha de Ingreso: julio-2008
Mensajes: 72
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: insertar url en campo de db al iniciar sesion los usuarios

Gracias gnzsoloyo

Y no te preocupes tanto, hay que ser muy ofensivo para ofenderme.
  #57 (permalink)  
Antiguo 02/05/2016, 08:15
Avatar de kip13  
Fecha de Ingreso: agosto-2011
Mensajes: 167
Antigüedad: 13 años, 3 meses
Puntos: 13
Respuesta: insertar url en campo de db al iniciar sesion los usuarios

Aqui nadie trata de ofenderte, estamos todos aclarandote que el uso de mysqli es el mas adecuado para lo que estas desarrollando.
Te lo han especificado en mensajes anteriores, yo te he mencionado que todo tu codigo, incluyendo la conexion a la base de datos sea aquella libreria.
La sintaxis es diferente a mysql, como te indican alla arriba, las diferencias no son colosales pero hay ciertos detalles que deben ser tomados en cuenta como el orden de cada parametro.
Espero no confundirte o talvez tener yo un error en lo que te estoy especificando, pero te lo ha dejado mas que claro gnzsoloyo.

Saludos
  #58 (permalink)  
Antiguo 02/05/2016, 15:18
Avatar de jearj  
Fecha de Ingreso: julio-2008
Mensajes: 72
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: insertar url en campo de db al iniciar sesion los usuarios

He solucionado algunos errores hasta que he llegado aquí:
$noticias = mysqli_query($conexion, $query_limit_noticias) or die(mysqli_error());

Me sale este error:
Warning: mysqli_error() expects exactly 1 parameter, 0 given

he leído algunas cosas sobre ese error y pone que lo haga así:
$noticias = mysqli_query($conexion, $query_limit_noticias) or die(mysqli_error($conexion));

Me sale este 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 'LIMIT 0, 4' at line 1

Y ahí ya me pierdo.

¿Alguien sabe como solucionarlo?


Esta es la parte del código:

$startRow_noticias = $pageNum_noticias * $maxRows_noticias;

mysqli_select_db($conexion, $database_conexion);
$query_noticias = "SELECT * FROM anuncios ORDER BY id_noticia DESC";
$query_limit_noticias = sprintf("%s LIMIT %d, %d", $queryi_noticias, $startRow_noticias, $maxRows_noticias);
$noticias = mysqli_query($conexion, $query_limit_noticias) or die(mysqli_error($conexion));
$row_noticias = mysqli_fetch_assoc($noticias);

if (isset($_GET['totalRows_noticias'])) {
$totalRows_noticias = $_GET['totalRows_noticias'];
} else {
$all_noticias = mysqli_query($query_noticias);
$totalRows_noticias = mysqli_num_rows($all_noticias);
}
  #59 (permalink)  
Antiguo 02/05/2016, 15:29
Avatar de kip13  
Fecha de Ingreso: agosto-2011
Mensajes: 167
Antigüedad: 13 años, 3 meses
Puntos: 13
Respuesta: insertar url en campo de db al iniciar sesion los usuarios

Cita:
Código PHP:
mysqli_select_db($conexion$database_conexion);
$query_noticias "SELECT * FROM anuncios ORDER BY id_noticia DESC";
$query_limit_noticias sprintf("%s LIMIT %d, %d"$queryi_noticias$startRow_noticias$maxRows_noticias);
$noticias mysqli_query($conexion$query_limit_noticias) or die(mysqli_error($conexion));
$row_noticias mysqli_fetch_assoc($noticias); 
Que intentas hacer en esta linea de aqui?
Código PHP:
$query_limit_noticias sprintf("%s LIMIT %d, %d"$queryi_noticias$startRow_noticias$maxRows_noticias); 
  #60 (permalink)  
Antiguo 02/05/2016, 15:35
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: insertar url en campo de db al iniciar sesion los usuarios

Bueno, para empezar, sin el código completo e integro, algunos errores sólo podemos suponerlos...

En primer lugar:
Cita:
Warning: mysqli_error() expects exactly 1 parameter, 0 given
Eso dice que al invocar esa función la estás pasando vacía, o con una variable nula.

En segundo,
Cita:
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 'LIMIT 0, 4' at line 1
tienes un error en el nombre de una variable en esta sentencia:
Código PHP:
Ver original
  1. $query_limit_noticias = sprintf("%s LIMIT %d, %d", $queryi_noticias, $startRow_noticias, $maxRows_noticias);
Le sobra una "i" a $queryi_noticias.

Es lo que ya te dije: Hay que ser meticuloso.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: campo, mysql, select, sql, tabla, url, usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:22.