Foros del Web » Programando para Internet » PHP »

URGENCIA MySQL-PHP

Estas en el tema de URGENCIA MySQL-PHP en el foro de PHP en Foros del Web. Hola, tengo este HTML <form action="insert.php" method="post"> Jugador: <input type="text" name="jugador" /> Goles: <input type="text" name="goles" /> <input type="submit" /> </form> Que dirige a este ...
  #1 (permalink)  
Antiguo 28/11/2008, 01:26
 
Fecha de Ingreso: noviembre-2008
Mensajes: 259
Antigüedad: 15 años, 4 meses
Puntos: 1
URGENCIA MySQL-PHP

Hola, tengo este HTML

<form action="insert.php" method="post">
Jugador: <input type="text" name="jugador" />
Goles: <input type="text" name="goles" />
<input type="submit" />
</form>

Que dirige a este PHP

<?php

$link = mysql_connect('localhost', 'root', '');
if (!$link) {
die('No conectado : ' . mysql_error());
}
// Se selecciona la base de datos si se ha conseguido conectar
$db_selected = mysql_select_db('goleadores', $link);
if (!$db_selected) {
die ('No se puede usar la base datos : ' . mysql_error());
}

$result = mysql_query("SELECT goles FROM goleadores WHERE jugador=$_POST[jugador]");
if (mysql_num_rows($result) == 0)
$result2 = mysql_query("INSERT INTO goleadores (jugador, goles) VALUES('$_POST[jugador]', $_POST[goles])");
else
$result2 = mysql_query("UPDATE goleadores SET goles = goles + $_POST[goles] WHERE jugador=$_POST[jugador]");


?>

Pero recibo este error:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\wamp\www\BEITAR\Goleadores\insert.php on line 22

Alguien podría ayudarme?

Muchas gracias
  #2 (permalink)  
Antiguo 28/11/2008, 02:05
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Exclamación Respuesta: URGENCIA MySQL-PHP

El problema es, creo, a medias PHP y MySQL.
Lo notificaré a nuestro moderador para que lo cambie al foro PHP. Lo que ocurre es que mysql_num_rows() no funciona si la consulta no funciona y tu consulta tiene un error. La escribes así:
$result = mysql_query("SELECT goles FROM goleadores WHERE jugador=$_POST[jugador]");

debes escribir con las comillas. Recuerda que buscas una cadena, string, pues el nombre del jugador es tal y no un número, ¿verdad?

$result = mysql_query("SELECT goles FROM goleadores WHERE jugador='$_POST[jugador]'");

Suerte.
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 05:31.