Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Errore nel codice php

  1. #1

    Errore nel codice php

    Salve ragazzi ho il seguente codice:

    <?php
    //Riceve l'identificativo di un regista e ne restituisce il nome completo
    function get_director($director_id){

    global $db;

    $query='SELECT
    people_fullname
    FROM
    people
    WHERE
    people_id='.$director_id;


    $result=mysql_query($query,Sdb)or die (mysql_error($db));
    $row= mysql_fetch_assoc($result);
    extract($row);
    return $people_fullname;
    }

    //Riceve l'identificativo di un attore e ne restituisce il nome completo

    function get_leadactor ($leadactor_id){

    global $db;
    $query='SELECT
    people_fullname
    FROM
    people
    WHERE
    people_id='.$leadactor_id;
    $result=mysql_query($query,$db)or die (mysql_error($db));
    $row= mysql_fetch_assoc($result);
    extract($row);
    return $people_fullname;
    }

    //Riceve l'identificativo di un tipo di film e ne restituisce la descrizione

    function get_movietype($type_id){
    global $db;
    $query='SELECT
    movietype_label
    FROM
    movietype
    WHERE
    movietype_id='.$type_id;
    $result= mysql_query($query,$db)or die(mysql_error($db));
    $row= mysql_fetch_assoc($result);
    extract($row);
    return $movietype_label;
    }

    //Collegamento a Mysql
    $db= mysql_connect('localhost','bismark','bismark')or die ('Connessione non riuscita. Inserisci i parametri corretti');

    //Selezioniamo il Db corretto
    mysql_select_db('moviesite',$db)or die(mysql_error($db));

    //Recuperiamo le Informazioni

    $query='SELECT
    movie_name,movie_year,movie_director,movie_leadact or,movie_type
    FROM
    movie
    ORDER BY
    movie_name ASC,
    movie_year DESC';

    $result= mysql_query($query,$db)or die (mysql_error($db));

    //Determiniamo quante righe ci sono nel risultato ottenuto

    $num_movies= mysql_num_rows($result);

    $table=<<<ENDHTML
    <div style="text-align:center;">
    <h2>ELENCO FILM</h2>
    <table border="1" cellpadding="2" cellspacing="2"
    style="width:70%;margin-left:auto;margin-right:auto;">
    <tr>
    <th>TITOLO FILM</th>
    <th>ANNO USCITA</th>
    <th>REGISTA FILM</th>
    <th>ATTORE FILM</th>
    <th>CATEGORIA FILM</th>
    </tr>
    ENDHTML;

    //Scorriamo i risultati nel DB
    while ($row= mysql_fetch_assoc($result)){
    extract ($row);
    $director=get_director($movie_director);
    $leadactor= get_leadactor($movie_leadactor);
    $movietype= get_movietype($movie_type);

    $table .=<<<ENDHTML
    <tr>
    <td>$movie_name</td>
    <td>$movie_year</td>
    <td>$director</td>
    <td>$leadactor</td>
    <td>$movietype</td>
    </tr>
    ENDHTML;
    }
    $table.=<<<ENDHTML
    </table>


    $num_movies</p>


    $righe</p>
    </div>
    ENDHTML;
    echo $table;
    ?>


    Sembra tutto ok ma quando lo eseguo mi dice:

    Warning: mysql_query() expects parameter 2 to be resource, string given in C:\xampp\htdocs\Capitolo4\table2.php on line 15

    Cosa può essere?

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320

    Moderazione

    Può essere che il secondo parametro di quella funzione dove va in errore si aspetta un tipo di dato diverso da quello che gli stai passando.

    Credo che te lo sappiano spiegare meglio nella sezione dedicata a PHP... sarebbe stato anche più utile includere il codice all'interno dell'apposito tag PHP previsto dal forum per rendere il tutto più leggibile e dare alla discussione un titolo un po' più indicativo del problema, visto che credo che il 99% degli utenti del forum PHP abbiano degli errori con del codice PHP.

    Sposto nella sezione corretta.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Grazie e scusa per l'errore, ho postato nella sezione sbagliata.

    Comunque ho risolto era una cavolata che mi ha fatto perdere molto tempo

    Praticamente avevo scritto

    $result=mysql_query($query,Sdb)or die (mysql_error($db));

    invece va scritto

    $result=mysql_query($query,$db)or die (mysql_error($db));

    l'errore era che avevo scritto Sdb invece andava scritto $db

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.