Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in

megarospo

Utente Attivo
25 Set 2007
147
0
0
Questo script dovrebbe spedire delle emai in automatico con l'ausilio di Phpmailer. Ricevo invece un warning e i messaggi di posta non vengono spediti. La query è corretta infatti riesco a stampare i dati a video. Da cosa può dipendere? Grazie.

<?php


MYSQL_CONNECT('localhost', 'PASS', 'ADMIN');
mysql_select_db("db");

$query1=mysql_query("SELECT clienti.email, clienti.nome, clienti.cognome, prodotti.nome, prodotti.stato
FROM clienti, prodotti
WHERE prodotti.stato='intermedio'");

$result=mysql_query($query1);
if (mysql_num_rows($result)>0) // QUESTA E' LA RIGA INCRIMINATA MA ANCHE QUELLA SOTTO TALVOLTA MI DA LO STESSO WARNING
{
while ($email_arr=mysql_fetch_array($result))
{
$to=$email_arr[0];

//istanziamo la classe e definiamo le intestazioni e il corpo del messaggio
$messaggio = new PHPmailer();
$messaggio->IsSMTP();
$messaggio->Host='mail.posta.it';//questo host è di esempio
$messaggio->From='[email protected]';
$messaggio->AddAddress($to);
$messaggio->AddReplyTo('[email protected]');
$messaggio->Subject='scadenza data';
$messaggio->Body=stripslashes('Al termine della data.........');
{
//definiamo i comportamenti in caso di invio corretto
//o di errore
if(!$messaggio->Send()){
echo $messaggio->ErrorInfo;
}else{
echo 'Email inviata correttamente!';
}}

//chiudiamo la connessione
$messaggio->SmtpClose();
unset($messaggio);
}}
?>

Grazie!!
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
mysql_num_rows() ti dà errore perchè il risultato della query non è valido (diciamo che non può essere contato); per questo motivo hai un errore anche da mysql_fetch_array perchè lavora su una array non valido.

Probabile che l'errore stia nella query inziale, prova a mettere un mysql_error() davanti:

PHP:
$query1=mysql_query("SELECT clienti.email, clienti.nome, clienti.cognome, prodotti.nome, prodotti.stato
FROM clienti, prodotti
WHERE prodotti.stato='intermedio'") or die (mysql_error());

e vedi cosa ti restituisce
 

megarospo

Utente Attivo
25 Set 2007
147
0
0
acch!! ho provato il tuo consiglio ma non ho riscontrato cambiamenti. ma da lo stesso warming. come è possibile???
Secondo te perchè le righe non sono contabili? Per "FORM clienti, prodotti", o per cosa?
Ho fatto una prova modificando la query e facendo la SELECT solo su una tabella ma ho ottenuto lo stesso risultato. Che ne pensi?
Ciao e grazie :)
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
Hai notato che usi mysql_query 2 volte?:
PHP:
$query1=mysql_query("SELECT clienti.email, clienti.nome, clienti.cognome, prodotti.nome, prodotti.stato
FROM clienti, prodotti
WHERE prodotti.stato='intermedio'");

$result=mysql_query($query1); ///QUESTO E' SBAGLIATO

quindi diventa:
PHP:
if (mysql_num_rows($query1)>0) 
....

e

PHP:
while ($email_arr=mysql_fetch_array($query1))
....
 

megarospo

Utente Attivo
25 Set 2007
147
0
0
doppio invio di e-mail

Sei veramente un mostro!! :) Hai trovato l'intoppo!!!
ora spedisce le e-mail solo che continua a spedirne il doppio! Sul databese sono 2, ma vengono spedite 4 e.mail. hai idea da cosa possa dipendere??
Grazie per i suggerimenti.
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
invece di inviare le mail, stampati i risultati della query e vedi se le voci vengono stampate doppie
 

megarospo

Utente Attivo
25 Set 2007
147
0
0
alla fine, a forza di riscrivere , provare e riprovare ora funzione tutto come vorrei.
Grazie per il tuo prezioso aiuto!!:fonzie:
 
Discussioni simili
Autore Titolo Forum Risposte Data
F [MySQL] Warning 1265 data truncated for column... MySQL 5
B Warning: mysql_connect(): Access denied for user 'DIREZIONE'@'81.88.55.179' (using password: YES) PHP 6
G [PHP] Warning: Cannot modify header information - headers already sent by PHP 3
G [PHP] Problema - Warning: session_start() [function.session-start] PHP 9
G Warning: mysql_num_rows() che problema è? PHP 3
P Warning: mysqli_query() expects parameter 1 to be mysqli PHP 2
C ERRORE: Warning: move_uploaded_file()... come risolverlo? PHP 1
JackIlPazzo Warning: Invalid argument supplied for foreach() PHP 1
N warning su sessione PHP 2
F Warning: Invalid argument supplied for foreach() PHP 3
A Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given PHP 17
L Problema messaggio d'errore -Warning: mysqli_num_rows() expects parameter 1 to be mysqli_ etc etc... PHP 2
pup3770 Su Mac funziona - su windows da warning PHP 9
E Warning: session_start() PHP 1
P Warning: mysql_num_rows() expects parameter 1 to be resource, array given in PHP 9
A Warning: mysql_result() expects parameter 1 to be resource, boolean given MySQL 2
I Warning: Division by zero in Joomla 0
S Help : Warning: mail() [function.mail] PHP 2
H Warning: Cannot modify header information... PHP 6
P Warning email() PHP 116
catellostefano CLASSE PHP Warning: mysql_fetch_assoc() expects parameter 1 to be resource PHP 2
Frank10 Problema w3c warning HTML5 -.-" HTML e CSS 5
neo996sps Warning su redirect della pagina PHP 9
M Warning: mysql_query() expects parameter 2 to be resource, boolean given PHP 3
S Warning sulle sessioni, come fare? PHP 1
catellostefano Problema per richiamare file xml -- Warning: DOMDocument::load() [domdocument.load]: PHP 0
L Warning: mysql_fetch_assoc() expects parameter 1 to be resource, null given in .... PHP 2
L Warning: Cannot modify header information - headers already sent by... PHP 9
H Warning: session_start() [function.session-start]: Cannot send session cache limiter PHP 8
S errore warning mysql_ferch_array() e mysql_free_result() PHP 5
A Warning strano PHP 2
JellyBelly Warning Uso Rename PHP 2
M Warning: session_start(): Cannot send session cache... ???? PHP 5
W Warning: main(./WEB-INF/etc/config.php): PHP 3
M Warning: Cannot modify header information - headers already sent by (output started a PHP 1
C problema con un warning PHP 0
K form Inserimento record mysql PHP 2
P Mysql lento a cancellare MySQL 1
P Codifica caratteri speciali mysql php PHP 0
N MAX() + ADD_DATE - per update su Mysql MySQL 0
F Applicazione PHP/MySQL per prenotazioni: limitare il numero massimo di posti prenotabili PHP 20
L tipo boolean non funzionante su mariadb (mysql). E codice php 7.4. PHP 0
M PHP/MySQL - Estrarre valori min e max di ogni gruppo PHP 5
W MySQL ciclo in SELECT MySQL 0
L Mysql gestionale multipiattaforma MySQL 0
W MySQL SELECT list dinamica MySQL 0
M utilizzo mysql in nodejs - crea createdAt e updateAt MySQL 1
T colonne di tabelle mysql ordinate MySQL 0
M Sintassi "personalizzata" per mysql workbench? MySQL 0
A Mysql MySQL 0

Discussioni simili