Errore mysql_query

efisio

Utente Attivo
5 Ago 2008
95
0
0
Buongiorno a tutti,
stò cercando di eseguire una query ma il risultato è sempre lo stesso: query fallita.

potreste darmi un aiuto ad identificare l'errore che sto commettendo?
vi posto la query di seguito:

$result = mysql_query("SELECT email FROM '".$professione."' WHERE nome='"
.$nome."' AND cognome='".$cognome."'");
$ris = mysql_query ($result) or die ("query fallita");

grazie
efisio
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
guarda che sta facendo due query

prova così

PHP:
$result = "SELECT email FROM '".$professione."' WHERE nome='"
.$nome."' AND cognome='".$cognome."'";
$ris = mysql_query ($result) or die ("query fallita");
 

efisio

Utente Attivo
5 Ago 2008
95
0
0
Buonasera Borgo,
ho provato ad inserire il codice che mi hai postato ma ora mi dà come risultato:
Parse error: syntax error, unexpected '=' in D:\Inetpub\webs\risorseumane\prova\form_contatto.php on line 31

La line 31 corrisponde alla query...
forse mi sfugge qualcosa e mi perdo in un bicchiere d'acqua!
continuo ad andare avanti per prove ed errori.
Grazie
Efisio
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
questa è nuova, o sono orbo io o mi sembra che non ci siano errori di sintassi
eventualmente prova così

PHP:
$result = "SELECT email FROM '".$professione."' WHERE nome='" 
.$nome."' AND cognome='".$cognome."'"; 
mysql_query ($result) or die ("query fallita");
 

efisio

Utente Attivo
5 Ago 2008
95
0
0
Buongiorno Borgo e grazie ancora per i suggerimenti.

borgo tu non sei affatto orbo, sono io che capisco poco poco di php e continuo a chiedermi dove potrei aver sbagliato.

pensiero a forum aperto:"
forse nel form di invio?".

controllo e vi faccio sapere.
buona domenica.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
fai una cosa intanto togli per ora or die ("query fallita") e guarda che errore (WARNING) ti da (e postalo)
poi metti un var_dump sotto la query e verifica che la query sia giusta

PHP:
$result = "SELECT email FROM '".$professione."' WHERE nome='"  
.$nome."' AND cognome='".$cognome."'";
var_dump($result );//da togliere dopo le verifiche
mysql_query ($result);

il var dump dovrebbe restituirti qualcosa del genere
string(nn) "SELECTemail FROM ombrellaio WHERE nome='Pinco' AND cognome='Pallino'"
se invece (ti faccio un esempio) vedi
string(nn) "SELECTemail FROM ombrellaio WHERE nome='' AND cognome='Pallino'"
vuol dire che ka variabile $nome non viene valorizzata, e quindi devi capire il perchè
 

efisio

Utente Attivo
5 Ago 2008
95
0
0
Ciao Borgo,

come pensavi gli errori che mi ha dato sono i seguenti:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\Inetpub\webs\risorseumane\prova\form_contatto.php on line 35

Warning: mail() [function.mail]: SMTP server response: 503 5.5.2 Need Rcpt command. in D:\Inetpub\webs\risorseumane\prova\form_contatto.php on line 42

Per la connessione mi dà:Connessione avvenuta con successostring(74) "SELECT email FROM 'musicisti' WHERE nome='silvia' AND cognome='rossi'"
 
Ultima modifica:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
intanto abbiamo visto che la querystringa è giusta, avendo modificato la riga del mysql_query da errore alla mysql_fetch_array
rimetti

$sql=mysql_query ($result); //o quello che vuoi al posto di $sql

e nel mysql_fetch_array

$riga=mysql_fetch_array($sql); //o quello che hai messo prima

per il secondo errore è un errore del server (stai lavorando in locale o remoto?)
se stai lavorando in locale non puoi inviare email, quindi, per forza, errore (quando lavoro in locale la funzione mail() la commento e al suo posto metto un echo o un var_dump per vedere il testo dell'email in prova)
se stai lavorando in remoto devi interpellare i gestori del server
 

efisio

Utente Attivo
5 Ago 2008
95
0
0
ciao Borgo,
mi stò esercitando in remoto.
a proposito delle modifiche effettuate il risultato è il seguente:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\Inetpub\webs\risorseumane\prova\form_contatto.php on line 35

per questo errore mi devo rivolgere ad aruba, dove ho comprato lo spazio su ci ho il mio sito, presumo?
Warning: mail() [function.mail]: SMTP server response: 503 5.5.2 Need Rcpt command. in D:\Inetpub\webs\risorseumane\prova\form_contatto.php on line 42

GRAZIE
 

efisio

Utente Attivo
5 Ago 2008
95
0
0
il codice è il seguente:
<?php
include("dbiscritti.php");

//campi hidden
$nome = $_POST['nomea'];
$cognomep = $_POST['cognomea'];
$professione = $_POST['professione'];

//campi form obbligatori
if (isset($_POST['nome'])) $nome = trim($_POST['nome']);
if (isset($_POST['cognome'])) $cognome = trim($_POST['cognome']);
if (isset($_POST['testo'])) $testo = trim($_POST['testo']);
if (isset($_POST['email'])) $email = trim($_POST['email']);

// estraggo da database
$db_conn = @mysql_connect($host,$user,$pass);
mysql_select_db($database, $db_conn);
//verifica dell'avvenuta connessione
if (mysqli_connect_errno()) {
// notifica in caso di errore
echo "Errore in connessione al DBMS: ".mysqli_connect_error();
// interruzione delle esecuzioni i caso di errore
exit();

}
else {
// notifica in caso di connessione attiva
echo "Connessione avvenuta con successo";
}

$result = "SELECT email FROM '".$professione."' WHERE nome='"
.$nome."' AND cognome='".$cognome."'";
var_dump($result );//da togliere dopo le verifiche
$sql=mysql_query ($result);
$riga=mysql_fetch_array($sql);
//inserisco controllo errore
var_dump($riga );
// preparo la mail
$destinatario = $riga['email'];
$oggetto = "informazioni";
$messaggio = $testo;
$mittente = "From: " . $email;
// spedisco
mail($destinatario, $oggetto, $messaggio, $mittente);
mysql_close();
?>

IL CONTROLLO var_damp($riga) mi dà come risultato: bool(false)
significa che non trova info nel campo email o che altro?per info, ho controllato sul db il campo email e contiene un indirizzo email corretto.
aiutatemiiii
 
Ultima modifica:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
intanto togli il silent @ alla riga 16 (lo rimetterai quando tutto è a posto) e guarda se ti da errore (ma credo di no).
poi:
togli mysql_close();
da più fastidio che altro, ci pensa php a chiudere quando serve.
il bool(false) vuol dire che non trova il record
metti un var_dump anche a $sql per vedere se fa la query

PHP:
//..........
$sql=mysql_query ($result);
var_dump($sql );
$riga=mysql_fetch_array($sql);
//inserisco controllo errore
var_dump($riga );
//...............

se ti da anche questo bool(false) vuol dire che non ti fa la query.
adesso iniziamo il ragionamento.
per prima cosa lo script che hai postato mi semmbra sintatticamente corretto, quindi l'errore probabilmente non è nello script
verifica nomi campi e tabelle nel db con quelli che usi in php tenendo presente anche le maiuscole/minuscole (il campo Nome non è == a nome).
analogamente per il contenuto (ricordati che php è case sensitive) quindi rossi != Rossi.
per ovviare a questo (se il difetto è lì) usa nell'inserire i dati immessi nei $_POST la funzione strtoupper o strtolower che trasforma i caratteri in tutti minuscoli o maiuscoli.
così eviti il rpoblema

es.
if (isset($_POST['nome'])) $nome = strtoupper(trim($_POST['nome']));

per cui quando l'utente inserisce o per iscriversi o per leggere i suoi dati è indifferente che scriva as ROssi o rOSSI tanto nel db che nei confronti troverai sempre rossi
 

efisio

Utente Attivo
5 Ago 2008
95
0
0
Buonasera Borgo,
ho effettuato qualche prova, in base a quanto mi hai detto, e ho potuto verificare la select, mysql_query e fetch_arry e tutte rilevano correttamente i dati.
Il problema che mi dà, a questo punto è il seguente:
Parse error: syntax error, unexpected $end in...on line 43

Nela linea 43 si trova i simboli di chiusura del file php: ?>

ti posto l'ultima parte del codice che ho modificato:
...
$result = "SELECT email FROM '".$professione."'"." WHERE nome='".$nomep."' AND "."cognome='".$cognomep."';
var_dump($result );//da togliere dopo le verifiche
$sql=mysql_query($result);
var_dump($sql );
$riga = mysql_fetch_array($sql);
var_dump($riga );
// preparo la mail
$destinatario = $riga;
$oggetto=informazioni;
$messaggio = $testo;
$mittente = $email;
// spedisco
mail ($destinatario, $oggetto, $messaggio, $mittente);
 

satifal

Utente Attivo
25 Set 2008
522
13
0
Roma
...
$result = "SELECT email FROM '".$professione."'"." WHERE nome='".$nomep."' AND "."cognome='".$cognomep."';
...

Mancano le virgolette alla fine:

$result = "SELECT email FROM '".$professione."'"." WHERE nome='".$nomep."' AND "."cognome='".$cognomep."'";
 

efisio

Utente Attivo
5 Ago 2008
95
0
0
Buongiorno Satifal,
la correzione che mi hai suggerito l'ho applicata ma il risultato non cambia, anzi il numero degli errori aumenta:

Connessione avvenuta con successostring(74) "SELECT email FROM 'professionisti' WHERE nome='silvia' AND cognome='rossi'" bool(false)
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\Inetpub\webs\risorseumane\prova\form_contatto.php on line 33
bool(false)
Warning: mail() [function.mail]: SMTP server response: 503 5.5.2 Need Rcpt command. in D:\Inetpub\webs\risorseumane\prova\form_contatto.php on line 40 .

mi sembrava di capire, leggendo sul web, che l'errore precedente di solito si ha quando dimentichiamo di mettere una virgoletta, un punto e virgola o quant'altro, ma forse non è così!!
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
togli gli apici al nome della tabella

...
$result = "SELECT email FROM ".$professione."." WHERE nome='".$nomep."' AND "."cognome='".$cognomep."';
...
anzi meglio scrivila così

$result = "SELECT email FROM $professione WHERE nome='$nomep' AND cognome='$cognomep' ";
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao dimenticavo
ti da errore nella mail() perche non trova l'indirizzo, fino a che non metti a posto la query mail ti darà errore
a parte questo la parte mai() scrivila così
PHP:
//.......
if(mail ($destinatario, $oggetto, $messaggio, $mittente)){
 echo "email inviata correttamente";
}else{
 echo "errore di trasmissione";
}
//....
 

efisio

Utente Attivo
5 Ago 2008
95
0
0
Buongiorno Borgo,

ho eseguito quanto mi hai postato ed è andato tutto a Buon Fine.

Grazie ancora per la gentilezza e cortesia con cui mi hai aiutato a risolvere questo problema, per me irrisolvibile.

Efisio
 
Discussioni simili
Autore Titolo Forum Risposte Data
felino [PHP][MySQL] Errore nella query PHP 6
K Strano errore in una query mysql da php PHP 5
catellostefano Errore esecuzione query MySQL PHP 4
M Errore in query mysql su ricerca record PHP 3
R Errore UPDATE tabella mysql PHP 1
MrSab [MySQL] Foreign key errore MySQL 5
gandalf1959 Errore di connessione a DB MySql PHP 5
C [Visual Basic] Errore INSERT su DB MySQL (VB.Net) Visual Basic 4
3_g errore con mysql insert in PDO PHP 29
M [MySql - VB6 sp6] Problema connessione db con alcuni pc (errore Lost connection to MySQL server...). MySQL 1
V [MySQL] Errore di sintassi 1064 MySQL 5
G [MySQL] Errore importazione tabella .sql #1062 - Duplicate entry '592' for key 'PRIMARY' MySQL 20
M [MySQL] Solito errore #1064 con poca comprensione MySQL 14
C [MySQL] errore 1064 MySQL 1
M PHP: errore connessione a MySQL PHP 5
K Non trovo l'errore! PDO MYSQL UPDATE PHP 2
C [MySQL] errore nell'importazione tabella con file csv MySQL 0
S Vecchio articolo registrazione utenti, errore MySQL PHP 2
M errore lettura data nel mysql con funzione Where PHP 1
E strano errore php/mysql PHP 8
L errore mysql per form di registrazione PHP 3
Devil-94 errore mysql PHP 12
francesco7 Errore collegamento script a Mysql Aruba PHP 0
R Errore di comunicazione con database Mysql PHP 5
K MySQL errore 1045 MySQL 1
A [JAVA e MySql] Errore can't create table Java 3
G [MySql] Errore utente dopo ripristino Dump MySQL 2
C MySQL errore 1064 MySQL 2
voldemort Errore installazione MySQL in Windows 7 MySQL 1
M errore aggiornamento tabella mysql PHP 44
E errore php con database mysql PHP 0
H Errore di sintassi mysql? PHP 23
Mauro Guardiani errore newsletter mysql MySQL 1
neo996sps PHP + MYSQL: Errore su accesso area riservata PHP 1
T errore di sintassi sul db mysql MySQL 1
G Errore MySQL (era: problemino) PHP 4
H [Mysql] Errore esecuzione MySQL 4
M MySql errore 1064 MySQL 10
C errore Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' MySQL 0
J Problema campo id in mysql - non trovo l'errore!!! PHP 1
S Errore nella connessione Mysql PHP 2
F Errore mysql 2003 10048 MySQL 0
G Errore connessione mysql con dreamweaver PHP 3
B Errore MySQL 10060 con mysql_connect PHP 1
F errore connessione mysql 10048 MySQL 0
G [AIUTO] Apache + Php + MySql + win -> ERRORE STRAN Apache 0
K Inserimento query Errore 1366 PHP 4
F errore 1062 su campo nuovo MySQL 4
N Errore interno Access MS Access 2
R mi da errore dove inizia il while PHP 1

Discussioni simili