Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Query

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929

    Query

    ciao a tutti,

    perchè mi dà errore??

    codice:
    <?php 
    
    require_once('../../Connections/conn.php');
    
    mysql_select_db($database_conn, $conn);
    	$r = mysql_query("SELECT MIN((mm - 45)) FROM timbri WHERE (mm - 45) >= 0"); 
    	$mindiff = mysql_result($r, 0, 0); 
    	if ($rig <= 12){
    	$r = mysql_query("SELECT id, mm, 3, rigpiu FROM timbri WHERE (mm - 45) = $mindiff") ; 
    	$row = mysql_fetch_array($r);
    	echo $row[3];
    ?>
    codice:
    Parse error: parse error in c:\appserv\www\admin\prova.php on line 12
    la linea 12 è la chiusura del codice e questa è tutta la pagina :master:


    Grazie

  2. #2
    manca la chiusura della if.


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929
    scusa ma perchè mi viene fuori una query sbagliata

    ho un database strutturato come la foto allegata

    a questo database faccio questa query

    codice:
    <?php 
    require_once('../../Connections/conn.php');
    
    mysql_select_db($database_conn, $conn);
    
    	$r = mysql_query("SELECT MIN((mm - 45)) FROM timbri WHERE (mm - 45) >= 0"); 
    	$mindiff = mysql_result($r, 0, 0); 
    	$r = mysql_query("SELECT id, mm, 3, rigpiu FROM timbri WHERE (mm - 45) = $mindiff") ; 
    	$row = mysql_fetch_array($r);
    	echo "ID: ".$row[0]." - MM: ".$row[1]." - CAMPO: ".$row[3];
    ?>
    come risultato dovrei avere 4.70 invece ottengo questo
    codice:
    ID: 1 - MM: 45 - CAMPO: 1.30


  4. #4
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929
    ops la foto

  5. #5
    Se usi dei numeri come nome di campo devi racchiuderli tra backquote (ALT + 96) altrimenti MySQL non puo' capire che non si tratta di un valore numerico ma di un nome di campo, cioe' una stringa.

    E' fortemente sconsigliato usare parole riservate o valori o anche caratteri con valori superiori a 127 ASCII con nomi di database, tabelle, campi.

    se proprio devi/vuoi vedere un numero mettici un undescore davanti per poterlo trattare come stringa. Devi prestare anche attenzione al fatto che quando vai ad estrarre le tuple ed il campo e' un numero, questo potrebbe sovrascrivere o essere sovrascritto nell'array da un equivalente indice numerico.

    basterebbe mettere come nome: _3, _34 ecc...


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929
    ok infatti ho modificato il database aggiungengo "_"

    e ho fatto cosi
    codice:
    <?php 
    	require_once('../../Connections/conn.php');
    	mysql_select_db($database_conn, $conn);
    	
    	$rig = 3;
    	$rig = "_".$rig;
    	$x = 45;
    	
    	$r = mysql_query("SELECT MIN((mm - $x)) FROM timbri WHERE (mm - $x) >= 0"); 
    	$mindiff = mysql_result($r, 0, 0); 
    	$r = mysql_query("SELECT id, mm, $rig , rigpiu FROM timbri WHERE (mm - $x) = $mindiff") ; 
    	$row = mysql_fetch_array($r);
    	echo $rig." ID: ".$row[0]." - MM: ".$row[1]." - CAMPO: ".$row[2];
    ?>
    adesso funziona a meraviglia

    Grazie

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.