Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    33

    problema con mysql_data_seek() e mysql_fetch_row()

    Ciao a tutti,
    ho un problema:

    Ho una pagina dove ho la lista degli utenti che possono gestire il sito internet. Voglio fare in modo che schiacciando il su modifica mi esca la pagina per poter modificare i dati. Il problema è che cliccando mi appare una pagina con questi errori:

    Warning: mysql_data_seek(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\Lavoro_stage\versione con db\modifica_dati_utente.php on line 21

    Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\Lavoro_stage\versione con db\modifica_dati_utente.php on line 22

    Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\Lavoro_stage\versione con db\modifica_dati_utente.php on line 27


    vi posto i codici delle 2 pagine...


    dati_utente.php

    <?php
    include ("connect.php");
    ?>

    <?php
    $sql= "select * from utente";
    $result = mysql_query($sql, $db);
    $AffectedRows = mysql_affected_rows($db);
    echo
    "<table border=\"1\">\n";
    for ($index=0; $index<$AffectedRows; $index++)
    {
    $row=mysql_fetch_row($result);
    if ($index==0)
    {
    echo "<tr>\n";
    foreach ($row as $k => $v)
    {
    $myfield = mysql_fetch_field($result,$k);
    print ("<td>" . $myfield->name . "</td>");
    }
    echo "</tr>\n";
    }
    foreach ($row as $k => $v)
    {
    echo "<td>$v";
    if ($k==0)
    {
    echo "
    ";
    echo "<a href=\"?id=195?id=$v\">Cancella</a>";
    echo "
    ";
    echo "<a href=\"?id=194?id=$v\">Modifica</a>";
    }
    echo "</td>";
    }
    echo "</tr>\n";
    }
    echo "</table>\n";



    mysql_free_result($result);
    mysql_close($db);
    ?>

    ?id=194, ?id=195 --> le pagina le richiamo dalla pagina index.php all'interno di uno switch.


    modifica_dati_utenti.php

    <?php
    include ("connect.php");
    ?>

    <?php
    $confirm=$_REQUEST['confirm'];
    $id=$_REQUEST['id'];

    if (!$confirm)
    {
    $sql="select * from utente where id=$id";
    $result = mysql_query($sql, $db);
    $AffectedRows = mysql_affected_rows($db);

    if ($AffectedRows==0)
    {
    echo "Non esistono record con i criteri selezionati";
    }
    else
    {
    mysql_data_seek($result,0);
    $row=mysql_fetch_row($result);

    echo "<table>";
    echo "<form method=\"post\"action=\"{$_SERVER['PHP_SELF']}\">";

    foreach ($row as $k => $v)
    {
    $myfield = mysql_fetch_field($result,$k);
    echo "<tr><td>$myfield->name</td>";
    echo "<td><input type=\"text\" value=\"" . $v . "\" name=\"" . $myfield->name . "\" size=\"100\" </td></tr>";
    }
    echo "<tr><td><input type=\"submit\" value=\"Conferma modifiche\"></td></tr>";
    echo "<input type=\"hidden\" name=\"confirm\" value=\"1\">";
    echo "</form>";
    echo "</table>";

    //mysql_free_result($result);
    mysql_close($db);
    }
    }
    else
    {
    $username=$_REQUEST['username'];
    $password=$_REQUEST['password'];
    $nome=$_REQUEST['nome'];
    $cognome=$_REQUEST['cognome'];
    $cripta_password=MD5($password);

    $query="update utente set username=\"$username\"," . "password=\"$cripta_password\"," . "nome=\"$nome\"," . "cognome=\"$cognome\"" . "where id = $id";

    $result = mysql_query($query, $db);
    $AffectedRows = mysql_affected_rows($db);

    if ($AffectedRows!=0)
    {
    echo "Il record è stato aggiornato";
    echo "<a href=\"dati_utente.php\">Torna alla lista</a>";
    }
    mysql_free_result($result);
    mysql_close($db);
    }
    ?>

    Qualcuno mi sa dire qlc in merito?

    SCUSATE SE HO POSTATO IN QUESTO MODO, SONO NUOVO

  2. #2
    Ciao,
    guardando l'errore che ti da, il problema non sta nel mysql_data_seek() e nel mysql_fetch_row() ma nel resultSet.

    Quindi effettua prima la connessione al database e sostituisci a

    Codice PHP:
    $result mysql_query($sql$db); 
    la riga

    Codice PHP:
    $result mysql_query($sql) or die (mysql_error()); 
    L'errore dovrebbe essere proprio in quel $db nel mysql_query() nel senso che non si connette correttamente al DB.

    Fammi sapere se va
    --Cosimo
    MAIL: cosimo.g18@gmail.com

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    33
    Ho fatto come hai detto tu..ma ora mi da questo errore

    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 '?id=17' at line 1


    La connessione ce l'ho in un file separato..e lo includo nella pagina di modifica..te lo posto

    <?php
    $host = "localhost";
    $username = "xxx";
    $password = "xxx";
    $nomedb = "xxx";

    //mi connetto al server mysql
    $db = mysql_connect ($host, $username, $password);
    if ($db == FALSE) {
    die ("Errore nella connessione.");
    }

    //mi connetto al database specificato nella variabile $nomedb
    mysql_select_db($nomedb,$db)
    or die ("Errore nella selezione del database");


    ?>



    Altro problema di errore che mi sono dimenticato di postare è questo, forse è quello che può risolvere, forse

    Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\Lavoro_stage\versione con db\modifica_dati_utente.php on line 39

  4. #4
    Hai un errore (penso) nella query.
    Prova a scriverla così:
    Codice PHP:
    $query="update utente set username='$username',password='$cripta_password',nome='$nome',cognome='$cognome' where id = '$id'"
    Vedi un po'...
    --Cosimo
    MAIL: cosimo.g18@gmail.com

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    33
    Niente non cambia nulla!!

    Intanto ti ringrazio per l'interessamento..se caso ti viene in mente qualcos'altro...

    Provo ancora a sbatterci la testa

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    33
    Nessuno sa darmi qlc aiuto?

    Non riesco a capire dove sbaglio!!!!

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    33
    È abbastanza urgente... nessuno sa quale sia il motivo?

  8. #8
    ciao...
    non hai risolto ancora? o si?

    Fammi sapere.

    --Cosimo
    --Cosimo
    MAIL: cosimo.g18@gmail.com

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    33
    Si si ho risolto

    mi ero dimenticato di aver aperto questo form


    Non mi ricordo però cos'era che non funzionava

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.