• User Attivo

    Connessione al database.

    Salve ho questa connessione al database ad oggetti in php.
    [php]
    <?php class MysqlClass{ private $host = "localhost"; private $user = "root"; private $password = ""; private $database = "prova"; //controllo sulle connessioni attive private $connessione_attiva = false; public function connetti() { if(!$this->connessione_attiva) { $connessione = mysql_connect($this->host,$this->user,$this->password,$this->database); $selezione = mysql_select_db($this->database,$connessione) or die (mysql_error()); } else { return true; } }}?>
    [/php]
    Nella index la richiamo così :
    [php]
    <?php include "configuration.php";session_start();
    $collega_db = new MysqlClass();$collega_db->Connetti(); ?>[/php]

    Tutto ok!
    il problema sorge quando faccio l'estrapolazione dei dati al DB Mysql.

    [php]
    $seleziona_like = ("SELECT * FROM tab1 where fk_id_prodotto =1"); $esegui_like = mysql_query($seleziona_like) or trigger_error(mysql_error().$seleziona_like); $contatore = mysql_num_rows($esegui_like); if($contatore > 0) { while($row = mysql_fetch_array($esegui_like)) { extract($row); } } else { Print "Risultato 0 "; }[/php]

    **Warning: mysql_query() expects parameter 2 to be resource, object given in...

    **Warning: mysql_num_rows() expects parameter 1 to be resource, null given in....

    Mi fate capire qualcosa come muovermi ad oggetti ?**

    **


  • User Attivo

    Prova a scrivere
    [PHP]$seleziona_like = "SELECT * FROM tab1 WHERE fk_id_prodotto = '1'"; [/PHP]


  • User Attivo

    Ho provato ma non va.
    Anche sul motore di phpmyadmin


  • Super User

    Ciao info,

    Hai creato un instance della classe, perché non hai continuato a usarlo?

    C'è un ottimo esempio sul manuale perché non consultarlo?

    Cambia i dati del database e le interrogazioni al database.

    <?php
    $mysqli = new mysqli("localhost", "my_user", "my_password", "world");

    /* check connection */
    if ($mysqli->connect_errno) {
    printf("Connect failed: %s\n", $mysqli->connect_error);
    exit();
    }

    /* Create table doesn't return a resultset */
    if ($mysqli->query("CREATE TEMPORARY TABLE myCity LIKE City") === TRUE) {
    printf("Table myCity successfully created.\n");
    }

    /* Select queries return a resultset */
    if ($result = $mysqli->query("SELECT Name FROM City LIMIT 10")) {
    printf("Select returned %d rows.\n", $result->num_rows);

    /* free result set */
    $result->close();
    

    }

    /* If we have to retrieve large amount of data we use MYSQLI_USE_RESULT */
    if ($result = $mysqli->query("SELECT * FROM City", MYSQLI_USE_RESULT)) {

    /* Note, that we can't execute any functions which interact with the
       server until result set was closed. All calls will return an
       'out of sync' error */
    if (!$mysqli->query("SET @a:='this will not work'")) {
        printf("Error: %s\n", $mysqli->error);
    }
    $result->close();
    

    }

    $mysqli->close();
    ?>

    Fonte php.net/manual/en/mysqli.query.php

    PS mysql_ è deprecato.


  • User Attivo

    Grazie per la risposta proverò