Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2001
    residenza
    NG Lab Cecchina, Roma
    Messaggi
    143

    function get_info($id_prodotto)

    Salve,
    sto provando a creare una funzione che dovrebbe semplicemente darmi marca e modello di un device quando viene interrogata. Noto che $id_prodotto non arriva proprio alla funzione, andando in error 500
    codice:
    	public function get_device($model)
    	{
    		try
    		{
    			$stmt = $this->conn->prepare("SELECT * FROM brands WHERE id=:model");
    			$stmt->bindparam(":model",$model);
    			$stmt->execute();
    			$d = $stmt->fetch(PDO::FETCH_ASSOC);
    			$immage = (file_exists("assets/media/brands/".strtolower($d['name']).".svg")) ? "assets/media/brands/".strtolower($d['name']).".svg" : "assets/media/brands/default.svg";
    			
    			return array($d['name'], $d['model'], $immage);
    		}
    		catch(PDOException $ex)
    		{
    			echo $ex->getMessage();
    		}
    	}
    codice:
    $device = get_device($riparazione['model']);
    Stampando $riparazione['model'] ho il modello, ma $device non ritorna nessun valore, anzi va in error 500
    Ottima scelta

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    192
    Io userei il foreach con PDOStatement::fetchAll invece di PDOStatement::fetch
    Codice PHP:
    foreach ($stmt->fetchAll(PDO::FETCH_ASSOC) as $row) {
        print 
    $row;

    Codice PHP:
    if(!emtpy($d)) {
    $immage 'test';
    $temp_arr = array('immage' => $immage);
    //$altroarray = array('device' => 'test', 'test' => 'valore', 'altroindice' => 'valore');
    $altroarray $temp_arr $d// tutti i campi di $d anche multidimensionale se non limitato e anche con "WHERE" può essere più resultset discorso diverso con campo univoco, se uso la sintassi array potrei limitare gli elementi effettivi già presenti nel mio involucro della variabile array
    }
    else {
    //forse da php 9 non sarà più consentito ridefinire il tipo di variabile se è un boolean, questo sorpassa il problema 
    $d null;
    unset(
    $d);
    $d = array();
    $altroarray $d;
    }
    return 
    $altroarray
    Codice PHP:
    //propria applicazione
    if(is_array($altroarray) && count($altroarray) !== 0) {
    //array con almeno uno o più elementi

    Da php 8.0.0 PDOStatement::fetchAll restituisce un array vuoto invece di false.
    con la sintassi array e tre valori stai recuperando solo essi e non esisterà più l'indice model nella variabile $d['model']
    Ultima modifica di darbula; 18-12-2021 a 17:42

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2001
    residenza
    NG Lab Cecchina, Roma
    Messaggi
    143
    Diciamo che ho risolto questo problema, ma vorrei spostare tutte queste funzioni su un altro server e usarle dal server attuale con una specie di API.
    Quanto sarebbe fattibile la cosa ?
    Come faccio a chiedere una funzione all'altro server ?
    Ottima scelta

  4. #4
    Quote Originariamente inviata da ffw Visualizza il messaggio
    Diciamo che ho risolto questo problema, ma vorrei spostare tutte queste funzioni su un altro server e usarle dal server attuale con una specie di API.
    Quanto sarebbe fattibile la cosa ?
    Come faccio a chiedere una funzione all'altro server ?
    Se l'altro server è "privato" e non accessibile via internet, fai chiamate curl e ricevi risposte json (per esempio....sta a te scegliere cosa e come rispondere, essendo il tuo server).
    Se il server è "pubblico" allora guardati le Rest Api e studiaci un po'

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.