Ricevere i dati tramite MySQL: non funzionaaaa

the_boss

Utente Attivo
21 Feb 2010
53
0
0
Io in index ho messo un semplice form:
HTML:
<form action="trova.php">
Marca: <input type="text" name="marca"><br>
Modello: <input type="text" name="modello"><br>
Colore: <input type="text" name="colore"><br>
<input type="submit" value="Invia!">
</form>

E in trova.php ho scritto:

PHP:
<?php
$marca=$_POST['marca'];
$modello=$_POST['modello'];
$colore=$_POST['colore'];
$host = "localhost";
$user = "avmavm";
$pass = "narutovskiba";
$connessione = mysql_connect($host,$user,$pass);

$prova=mysql_db_query('my_avmavm',"SELECT * FROM `Veicoli` WHERE `Marca`=`".$marca."` and `Modello`=`".$modello."` and `colore`=`".$colore."` ",$connessione);
$scrmarca=mysql_result($prova,0,"Marca");
$scrmodello=mysql_result($prova,0,"Modello");
$scrcolore=mysql_result($prova,0,"Colore");
$scrkilometri=mysql_result($prova,0,"Kilometri");
$scrcosto=mysql_result($prova,0,"Costo");
echo "<table border=\"1\"><tr><td>Marca</td><td>Modello</td><td>Colore</td><td><Kilometri</td><td>Costo</td></tr><tr><td>".$scrmarca."</td><td>".$scrmodello."</td><td>".$scrcolore."</td><td>".$scrkilometri."</td><td>".$scrcostr."</td></tr></table>";
?>


non vedo alcun errore nel codice eppure la tabella mi appare con scritto "marca modello ecc..." ma non mi esce fiat punto ecc...
sapete dirmi dov'è l'errore??
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
24
Roma
alessandro1997.netsons.org
Scusa, ma perché usi dei campi di testo per la selezione? Dovresti usare una lista drop-down, magari qualcosa che si aggiorni automaticamente tramite AJAX. Così non rischi di inserire una marca, un modello o un colore che non esiste...
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
24
Roma
alessandro1997.netsons.org
Non so, forse è perché usi mysql_result o mysql_db_query. In ogni caso il tuo è un gran bell'esempio di spaghetti code. Usi una funzione deprecata di una libreria ancora più deprecata. Prova a riscrivere lo script con PDO, così:
PHP:
<?php
// configurazione database
$dbhost = 'localhost';
$dbuser = 'avmavm';
$dbpass = 'narutovskiba';
$dbname = 'my_avmavm';

// blocco per la gestione delle eccezioni
try
{
	// tento la connessione
	$db = new PDO("mysql:host={$dbhost};dbname={$dbname}", $dbuser, $dbpass);
}
// catturo un'eventuale PDOException
catch(PDOException $e)
{
	// visualizzo l'errore
	echo '<p>Impossibile connettersi al database.</p>';
	
	// interrompo l'esecuzione
	exit();
}

// recupero i dati del form
$marca = isset($_POST['marca']) ? trim($_POST['marca']) : '';
$modello = isset($_POST['modello']) ? trim($_POST['modello']) : '';
$colore = isset($_POST['colore']) ? trim($_POST['colore']) : '';

// tento di recuperare i dati
$sth = $db->prepare("SELECT * FROM veicoli WHERE marca = ? AND modello = ? AND colore = ?");
$sth->execute(array($marca, $modello, $colore));

// visualizzo errore se non ci sono veicoli
if($sth->rowCount() == 0)
	die('Nessun veicolo corrisponde ai criteri selezionati.');

// visualizzo l'header della tabella
echo <<<EOF
<table border="1">
	<tr>
		<th>Marca</th>
		<th>Modello</th>
		<th>Colore</th>
		<th>Costo</th>
		<th>Chilometri</th>
	</tr>
EOF;

// recupero tutte le auto
$vehicles = $sth->fetchAll();

// ciclo tutte le auto
foreach($vehicles as $v)
{
	// visualizzo i dati sulla macchina
	echo <<<EOF
	<tr>
		<td>{$v['marca']}</td>
		<td>{$v['modello']}</td>
		<td>{$v['colore']}</td>
		<td>{$v['costo']}</td>
		<td>{$v['kilometri']}</td>
	</tr>
EOF;
}

// chiudo la tabella
echo <<<EOF
</table>
EOF;
?>
Ti consiglio di imparare a scrivere software più puliti.
 

the_boss

Utente Attivo
21 Feb 2010
53
0
0
errore:
Parse error: syntax error, unexpected '{' in /membri/avmavm/mysql/trova.php on line 10
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
non è che hai dimenticato di copiare la graffa dopo il try?:
PHP:
try
{
la riga è quella
 

the_boss

Utente Attivo
21 Feb 2010
53
0
0
ha funzionato il codice iniziale, quello mio, l'errore era nella query, perchè i database, le tabelle, e le colonne, non vanno messi fra gli apici singoli normali, ma degli apici speciali,
che sono questi:
`` diversamente da quelli normali che sono questi ' '

grazie comunque ^^
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
24
Roma
alessandro1997.netsons.org
Veramente il problema non è quello, perché io nei miei script ho sempre usato gli apici singoli e ha sempre funzionato a meraviglia. Ti ripeto che di sicuro è un problema dell'interprete PHP sul tuo host. Probabilmente è una versione vecchia (ed essendo su Altervista ti ridomando: hai abilitato PHP5?).
 
Discussioni simili
Autore Titolo Forum Risposte Data
B ricevere dati in pagina php da array di altra pagina php PHP 12
L Ricevere dati json da php-mysql Javascript 0
E ricevere dati form via mail PHP 2
S far funzionare come deve un modulo per ricevere dati HTML e CSS 3
V Ricevere messaggi email certificata con CDO o altro oggetto in ASP Classic ASP 0
Zidane Spero di poter dare e ricevere molti consigli Presentati al Forum 0
P Javascript, ricevere responso da PHP. Come fare? Javascript 1
ANDREA20 [PHP] Buongiorno!!! potrei ricevere una risposta anch'io o no? PHP 7
Shyson mysql int (11) quanti caratteri può ricevere? PHP 1
T Ricevere pagamenti da Google Play per vendita app Android Sviluppo app per Android 1
T ricevere valore a pagina asp Javascript 0
M Paypal inviare e ricevere variabili E-Commerce 1
S Google Play, ricevere pagamento per App create Sviluppo app per Android 2
T Ricevere donazioni con paypal E-Commerce 13
B ricevere visite gratis al proprio sito? Discussioni Varie 1
R Vuoi Ricevere Una Ricarica Vodafone Da 8 Euro O H3g Da 10 Euro Gratis??????? Discussioni Varie 0
F Come passare e ricevere varabile Classic ASP 1
G ricevere una email dal web e inviare una risposta con allegato Classic ASP 2
Ƒ Come ricevere tramite mail l'ip dei visitatori del mio sito! HTML e CSS 1
C form: ricevere solo i campi modificati Javascript 1
M Riportare in tabella HTML dati estratti con query SQL MySQL 0
I Assegnare dati fetch request ad una variabile globale Javascript 0
L PHPSpreadsheet inserire dati da file .xlsx/.xls su database PHP 2
L Ricezione dei dati su file php da modulo html PHP 6
L inserimento form dati multipli ? PHP 0
S Leggere dati da API e visualizzarli PHP 0
S problema con recupero dati tabella mysql PHP 2
E Progressbar estrazione dati da tabella mySQL Ajax 9
A invio massivo dati a file php Javascript 4
M Inviare dati nel db dopo risposta alert PHP 0
A recuperare i dati passati nel post PHP 1
L Estrazione dati php Database 6
L Estrazione dati casuali non doppioni MySQL 1
J Form inserimento dati in database Ajax 1
D Recupero dati da HDD esterno Hardware 0
L non duplicare dati in stato "aggiornamento" PHP 6
L inserire dati multi livello PHP 8
L input (rilevare cambio dati) PHP 3
L input dati con inser into select ? PHP 4
W Invio Dati ad un altra pagina Classic ASP 1
A Mostrare dati database per pagine PHP 2
Samuele Ronzani Sposta dati in una tabella eliminandolo MySQL 6
S Gestire scelta dropdown con dati da Mysql PHP 2
C Estrarre dati stringa Sql Database 1
elpirata Query per leggere dati da una tabella mysql e mostrarli a video in base a parametri passati tramite GET PHP 5
W Evitare ridondanza dei dati Classic ASP 3
MarcoGrazia Dati nulli su join tra più tabelle MySQL 1
A Inserimento dati nel database tramite form + altre operazioni PHP 18
Alex_70 sql importazione dati MySQL 0
C Aggiungere blocco dati Javascript 6

Discussioni simili