Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1

    Problema: Mysql_fetch_array non funziona

    Salve a tutti,
    da neofitissimo che sono, mi sto imbattendo nella programmazione PHP per un sito web.
    Lo scopo dello script a cui mi sono ispirato (e che ho leggermente modificato) è semplice, ovvero è quello di creare un sistema di like "alla Facebook", solo che sto riscontrando non pochi problemi.

    All'inizio non fungeva la connessione al db, e dopo aver risolto, mi trovo davanti, come da titolo, a combattere con mysql_fetch_array. Eh sì, perchè non riesco assolutamente a far funzionare questo comando, motivo per cui spero che qualcuno di voi sia in grado di aiutarmi. Ecco il codice dello script:

    codice:
    <?php
    define('DB_SERVER', '');
    define('DB_USERNAME', '');
    define('DB_PASSWORD', '');
    define('DB_DATABASE', 'my_chiarasgua');
    $connection = mysql_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD) or die ("You can't connect");
    $db = mysql_select_db(DB_DATABASE, $connection) or die ("Couldn't select database.");
    
    
    $result  = mysql_query("select `like`,`un-like` from `like` where id=1", $connection) or die ("Unable to select");
    $row            = mysql_fetch_array($result);
    
    
    $like       = $row['like'];
    $unlike     = $row['un-like'];
    if($_POST)
    {
        if(isset($_COOKIE["counter_gang"]))
        {
            echo "-1";
            exit;
        }
        setcookie("counter_gang", "liked", time()+3600*24*365);
        if(mysql_real_escape_string($connection,$_POST['op']) == 'like')
        {
            $update = "'like'='like'+1";
        }
        if(mysql_real_escape_string($connection,$_POST['op']) == 'un-like')
        {
            $update = "'un-like'='un-like'+1";
        }
        mysql_query($connection,"update 'like' set $update where 'id'=1");
        echo 1;
        exit;   
    }
    ?>
    
    ...
    
    <p class="cont"><?php echo $like; ?></p>
    I comandi mySQL per creare la tabella sono stati invece:

    codice:
    [COLOR=#800080 !important]CREATE[COLOR=#006FE0 !important][/COLOR][COLOR=#800080 !important]TABLE[/COLOR][COLOR=#006FE0 !important][/COLOR]`[COLOR=#800080 !important]like[/COLOR]`[COLOR=#006FE0 !important][/COLOR]([/COLOR]
    [COLOR=#006FE0 !important]`id`[COLOR=#006FE0 !important][/COLOR][COLOR=#800080 !important]int[/COLOR](5)[COLOR=#006FE0 !important][/COLOR][COLOR=#800080 !important]NOT NULL[/COLOR][COLOR=#006FE0 !important][/COLOR][COLOR=#800080 !important]AUTO_INCREMENT[/COLOR],[/COLOR]
    [COLOR=#006FE0 !important]`status_id`[COLOR=#006FE0 !important][/COLOR][COLOR=#800080 !important]int[/COLOR](10)[COLOR=#006FE0 !important][/COLOR][COLOR=#800080 !important]NOT NULL[/COLOR],[/COLOR]
    [COLOR=#006FE0 !important]`[COLOR=#800080 !important]like[/COLOR]`[COLOR=#006FE0 !important][/COLOR][COLOR=#800080 !important]int[/COLOR](10)[COLOR=#006FE0 !important][/COLOR][COLOR=#800080 !important]NOT NULL[/COLOR],[/COLOR]
    [COLOR=#006FE0 !important]`un[COLOR=#006FE0 !important]-[/COLOR][COLOR=#800080 !important]like[/COLOR]`[COLOR=#006FE0 !important][/COLOR][COLOR=#800080 !important]int[/COLOR](10)[COLOR=#006FE0 !important][/COLOR][COLOR=#800080 !important]NOT NULL[/COLOR],[/COLOR]
    [COLOR=#006FE0 !important][COLOR=#800080 !important]PRIMARY KEY[/COLOR][COLOR=#006FE0 !important][/COLOR](`id`)[/COLOR]
    )[COLOR=#006FE0 !important][COLOR=#800080 !important]ENGINE[/COLOR][COLOR=#006FE0 !important]=[/COLOR][COLOR=#800080 !important]MyISAM[/COLOR][COLOR=#006FE0 !important][/COLOR][COLOR=#800080 !important]DEFAULT[/COLOR][COLOR=#006FE0 !important][/COLOR][COLOR=#800080 !important]CHARSET[/COLOR][COLOR=#006FE0 !important]=[/COLOR]latin1[COLOR=#006FE0 !important][/COLOR][COLOR=#800080 !important]AUTO_INCREMENT[/COLOR][COLOR=#006FE0 !important]=[/COLOR]1[COLOR=#006FE0 !important][/COLOR];[/COLOR]
    Cos'è che sbaglio?

    P.S. come hosting uso altervista, ma non credo sia un problema

  2. #2
    Esattamente cosa non ti funziona dello script ? Php restituisce errori, quali ? O lo script non da i risultati che avresti voluto ?

    Per vedere se il fetch funziona:
    Codice PHP:
    $row            mysql_fetch_array($result);

    var_dump($row); // così vedi come è fatto l'array del risultante dalla query 

  3. #3
    Facendo come hai detto tu esce la scritta "bool(false)", e non capisco come mai esca un valore booleano

    Inoltre se eseguo la query

    select `like`,`un-like` from `like` where id=1

    da PHPMyAdmin, risulta la seguente dicitura:

    MySQL ha restituito un insieme vuoto (i.e. zero righe). (La query ha impiegato 0.0002 sec)
    Ultima modifica di deleted_20210415; 08-03-2014 a 14:31

  4. #4
    Quote Originariamente inviata da ShyMurder Visualizza il messaggio
    Facendo come hai detto tu esce la scritta "bool(false)", e non capisco come mai esca un valore booleano

    Inoltre se eseguo la query

    select `like`,`un-like` from `like` where id=1

    da PHPMyAdmin, risulta la seguente dicitura:

    MySQL ha restituito un insieme vuoto (i.e. zero righe). (La query ha impiegato 0.0002 sec)
    E' una buona notizia, hai capito perchè lo script non funziona. Il risultato della query è un insieme vuoto.
    Ora devi mettere a punto la query.

  5. #5
    Purtroppo non me ne intendo molto, non è che potresti almeno dirmi in cosa sbaglio? Ora provo a postare il codice della tabella in modo più comprensibile:

    CREATE TABLE `like` (
    `id` int(5) NOT NULL AUTO_INCREMENT,
    `status_id` int(10) NOT NULL,
    `like` int(10) NOT NULL,
    `un-like` int(10) NOT NULL,
    PRIMARY KEY (`id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

    Dove sbaglio?

  6. #6
    La tabella contiene righe compilate o è vuota ?

  7. #7
    Per ora è vuota

  8. #8
    Ehm... .... dai.. non ci credo ..
    Come puoi pretendere di avere un risultato se la tabella è vuota ?
    Scegliendo da un insieme vuoto, potrai ottenere in risposta solo un inseme vuoto.

  9. #9
    Lo so, in PHP/MySQL sono un novellino... Però in questo esempio non mi pare che popolino tabelle, guarda qui:

    http://www.phpgang.com/how-to-create...query_410.html

  10. #10
    Quote Originariamente inviata da ShyMurder Visualizza il messaggio
    Lo so, in PHP/MySQL sono un novellino... Però in questo esempio non mi pare che popolino tabelle, guarda qui:

    http://www.phpgang.com/how-to-create...query_410.html

    E cosa c'entra questo? Senon ci metti nulla nella tabelle è ovvio che la select non trovi nulla
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

Tag per questa discussione

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.