Hola, esto si que no me lo explico, tengo un logueo, entro sin problemas pero en cambio cuando intento hacer que saque algo de la base después, me salta con:
Warning: mysql_query() [function.mysql-query]: Can't connect to local MySQL server through socket '/tmp/mysqld.sock' (2) in imagenes.php on line 55
Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in imagenes.php on line 55
Can't connect to local MySQL server through socket '/tmp/mysqld.sock' (2)
Y en esa línea lo que hay es:
$sql="SELECT * FROM images WHERE id='$id'";
$result=mysql_query($sql) or die (mysql_error());
$row=mysql_num_rows($result);
Prueba con
<?
$sql = mysql_query("SELECT * FROM images WHERE id='$id'");
$row = mysql_num_rows($sql);
?>
& eDu & porque habria de probar con lo mismo :huh:
una duda Servia:
Tal vez sea tonto lo que te voy a decir, pero, tu campo id de tu tabla images realmente es de tipo varchar o char ??
se me pasaba xD al parecer es un error con la conexion, el mismo sql te lo dice, rectifica que abres y cierras la conexion donde es debido, rectifica que los datos para la conexion esten correctos, estoy casi seguro que es eso.
PD: no siempre el error esta exactamente en la linea que te lo marcan
saludos :)
Cita de: & eDu & en 29 Diciembre 2008, 15:59 PM
Prueba con
<?
$sql = mysql_query("SELECT * FROM images WHERE id='$id'");
$row = mysql_num_rows($sql);
?>
Entonces me dice:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in imagenes.php on line 51
y la línia es la de $row=...
juraría que lo hago bien mit, lo que he posteado es todo lo usado para hacerlo.
pues si es todo lo que has usado, entonces tienes un grave error xD primero tienes que establecer conexion con la base de datos jeje, deja te paso un ejemplo:
este archivo lo uso para crear mi conexion:
con.php
<?
session_start();
function abrir_conexion()
{
$host = "localhost"; //usually localhost, or ip
$nombre_usuario = "root"; // database user
$password = "XXXX"; // database pass
$base_datos = "mibasededatos"; // database name
$con = mysql_connect($host, $nombre_usuario, $password) or die("Cannot Connect");
mysql_select_db($base_datos, $con);
$_SESSION["con"] = $con;
}
?>
y cuando lo voy a usar, uso lo siguiente:
index.php
$id_usuario=7;
abrir_conexion();
$res=mysql_query("select id_usuario FROM usuarios WHERE id_usuario=$id_usuario") or die(mysql_error());
$id_usuario_exist=mysql_num_rows($res);
mysql_close($_SESSION["con"]);
Y no tengo ningun problema, te aseguro al 100% que estas haciendo algo mal en tu conexion a la base de datos.
saludos
Voy a probarlo, pero no entiendo como me puede funcionar el registro entonces...
Edito, thanks, pero sigo sin entender como lo hacía antes. Nunca escribía el mysql_connect y igualmente tiraba.
Es sencillo mira, te dire como trabaja:
Si no usas el mysql_connect, a la hora que hagas tus consultas en el mysql_query, tienes que especificarle la conexion:
<?
$sql = mysql_query("SELECT * FROM images WHERE id='$id'",conexion);
$row = mysql_num_rows($sql);
?>
pruebalo y te daras cuenta que ya te funciona.
saludos ;)
Explícame esto entonces, tengo lol.php:
<?
require('config.php');
$id=($_GET["id"]);
$condicion=$_SESSION['SESS_MEMBER_LOG'];
$sql = "SELECT * FROM noticias WHERE id='".$id."'";
$result = mysql_query($sql) or die(mysql_error());
$row = mysql_fetch_array($result);
$rows = mysql_num_rows($result);
$zql = "SELECT * FROM members WHERE login='".$condicion."'";
$resule = mysql_query($zql) or die(mysql_error());
$gow = mysql_fetch_array($resule);
$gows = mysql_num_rows($resule);
if ($gow["rango"]==admin) {
echo '<form id="form1" name="form1" method="post" action="modnoticia2.php">
<label>Título:
<input type="text" name="titulo" size="56" value="'; echo $row['titulo']; echo'"/>
</label>
<p>
<label>Autor:
<input type="text" name="autor" value="'; echo $row['autor']; echo'" />
</label>
</p>
<p>
<label>Texto: <br />
<textarea name="texto" rows="10" cols="60">'; echo $row['texto']; echo'</textarea>
</label>
</p>
<p>
<label>
<input type="submit" name="Submit" value="Guardar" />
</label>
<input type="hidden" name="id" value="'; echo $id; echo'">
</p>
</form>
<p><a href="bornoticia.php?id='; echo $id; echo'">Eliminar noticia</a></p>';
} else {
echo '<img src="ajax.gif" /> Cargando, espera por favor.';
}
?>
y en config.php:
<?php
define('DB_HOST', '-------');
define('DB_USER', '***********');
define('DB_PASSWORD', '*******');
define('DB_DATABASE', '********');
?>
y en que lugar seleccionas la base de datos con la que quieres trabajar? creo que estas frito :¬¬
busca un manual para saber el procedimiento de como establecer conexion con mysql desde php. Para empezar jamas creas una conexion y para empeorar ni siquiera seleccionas una base de datos -.-
En tu codigo por ningun lado veo que establescas la conexion y enseima que selecciones la base de datos que quieres usar, el mysql_select_db no es necesario pero te aconsejo establecerlo, ya que cuando quieras ejecutar una consulta, le tendras que pasar el paramentro de la conexion ( que no veo que crees en ningun lugar )
$con = mysql_connect($host, $nombre_usuario, $password) or die("Cannot Connect");
mysql_select_db($base_datos, $con);
Espero quede claro ;)
saludos
Cita de: mit en 29 Diciembre 2008, 20:09 PM
y en que lugar seleccionas la base de datos con la que quieres trabajar? creo que estas frito :¬¬
busca un manual para saber el procedimiento de como establecer conexion con mysql desde php. Para empezar jamas creas una conexion y para empeorar ni siquiera seleccionas una base de datos -.-
En tu codigo por ningun lado veo que establescas la conexion y enseima que selecciones la base de datos que quieres usar, el mysql_select_db no es necesario pero te aconsejo establecerlo, ya que cuando quieras ejecutar una consulta, le tendras que pasar el paramentro de la conexion ( que no veo que crees en ningun lugar )
$con = mysql_connect($host, $nombre_usuario, $password) or die("Cannot Connect");
mysql_select_db($base_datos, $con);
Espero quede claro ;)
saludos
Eso es lo que te pido que me expliques, porque funciona XD todos los tengo así.
$pip = mysql_connect(servidor,usuario,contraseña);
Eso recoje los datos de la base de datos, contraseña,usuario etc..
mysql_select_db(tubasede datos, $pip);
Este selecciona la base de datos y le introduce los datos recojidos anteriormente para poder hacer la conexión.
ya... lo pillas? x'dd
Cita de: & eDu & en 30 Diciembre 2008, 12:48 PM
$pip = mysql_connect(servidor,usuario,contraseña);
Eso recoje los datos de la base de datos, contraseña,usuario etc..
mysql_select_db(tubasede datos, $pip);
Este selecciona la base de datos y le introduce los datos recojidos anteriormente para poder hacer la conexión.
ya... lo pillas? x'dd
y dale, te digo que me cuentes porque el mío va sin usarlo, no que como lo hago, claro que lo entiendo -.-