Back to top

Autore Topic: [RISOLTO] Errore mysql_fetch_array()?????? Aiuto !!!!  (Letto 2148 volte)

Offline elleoerre

  • Appassionato
  • ***
  • Post: 218
  • Sesso: Maschio
    • Mostra profilo
Salve, come già accennato nell'oggetto ho un problema poichè la pagina mi restituisce questo messaggio di errore:

Warning:  mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\portale\cdg\administrator\components\com_chronoforms\form_actions\custom_code\custom_code.php(19) : eval()'d code on line 6

e non ho la minima idea di cosa sia!!!  :'(

Provo a postarvi il codice inserito in una custom code della form:

Codice: [Seleziona]
<?php
if ( $form->data['task'] == 'show') {
$query "SELECT * FROM cdg_chronoforms_data_new_turno WHERE 'data'=".$form->data['d'].",'turno'=".$form->data['t'].",'addetto'=".$form->data['a'];
$ris=mysql_query($query);
echo 
"<p style='background-color:#eeeeee'>DATA : ".$form->data['d']." TURNO : ".$form->data['t']." ADDETTO : ".$form->data['a']."</p>";
while (
$riga mysql_fetch_array($ris))
{
    echo 
$riga['note']."[br /]";
}
}
?>


L'errore me lo indica alla riga 6 e cioè sul ciclo while.
Qualcuno di buona volontà può aiutarmi? Non riesco ad andare avanti, mi sono bloccato!  :'( :'( :'(
« Ultima modifica: 22 Lug 2013, 18:22:56 da elleoerre »

Offline elleoerre

  • Appassionato
  • ***
  • Post: 218
  • Sesso: Maschio
    • Mostra profilo
Re:Errore mysql_fetch_array()?????? Aiuto !!!!
« Risposta #1 il: 22 Lug 2013, 16:22:44 »
Mi sembra di capire che l'errore sia sulla quesry e non sul ciclo while. Forse ho sbagliato la stringa SQL??? Non riesco a capire dove però...  :'(

mau_develop

  • Visitatore
Re:Errore mysql_fetch_array()?????? Aiuto !!!!
« Risposta #2 il: 22 Lug 2013, 16:28:41 »
chi è che fa degli eval() ??

Offline elleoerre

  • Appassionato
  • ***
  • Post: 218
  • Sesso: Maschio
    • Mostra profilo
Re:Errore mysql_fetch_array()?????? Aiuto !!!!
« Risposta #3 il: 22 Lug 2013, 16:42:36 »
Cioè? Non capisco cosa dici... Nel mio codice non c'è nessuna funzione eval() e non so cosa sia...
La mia form non ha nient'altro se non quel codice che ho postato sopra, non ci sono elementi html e non ci sono altre funzioni... Quindi?

Offline elleoerre

  • Appassionato
  • ***
  • Post: 218
  • Sesso: Maschio
    • Mostra profilo
Re:Errore mysql_fetch_array()?????? Aiuto !!!!
« Risposta #4 il: 22 Lug 2013, 18:09:42 »
Allora, l'errore l'ho trovato e sta nella stringa SQL. Praticamente manca AND tra le condizioni della clausola WHERE, difatti la stringa esatta è la seguente:

Codice: [Seleziona]
$query = "SELECT * FROM cdg_chronoforms_data_new_turno WHERE data=".$form->data['d']." AND turno=".$form->data['t']." AND addetto=".$form->data['a'];
quindi il codice finale è il seguente:
Codice: [Seleziona]
<?php
if ( $form->data['task'] == 'show') {
$query "SELECT * FROM cdg_chronoforms_data_new_turno WHERE data=".$form->data['d']." AND turno=".$form->data['t']." AND addetto=".$form->data['a'];
$ris=mysql_query($query);

echo 
"<p style='background-color:#eeeeee'><b>DATA : </b>".$form->data['d']."<b> TURNO : </b>".$form->data['t']."<b> ADDETTO : </b>".$collega."</p>";

if(
$ris && mysql_num_rows($ris)>0){
while (
$riga mysql_fetch_array($ris))
{
echo 
$riga['cf_id']." ";
echo 
$riga['data']." ";
echo 
$riga['turno']." ";
echo 
$riga['addetto']." ";     
echo 
$riga['note']."<br>";
}
} else
     echo 
"nessun risultato";
}
?>


Però, continua ad esserci un problema. La pagina non mi restituisce errore ma non mi visualizza i risultati che voglio, infatti mi dice "nessun risultato" nonostante la query fatta sia positiva.
Io presume che l'errore sia sui parametri passati come variabili alle condizioni della clausola WHERE e cioè $form->data['d'], $form->data['t'], $form->data['a'] che altro non sono che i valori passati come parametri dalla form precedente a questa, difatti il linkche richiama questa form è il seguente:

index.php/component/chronoforms/?chronoform=show_turno_aperto&task=show&d=21/07/2013&t=07/13&a=esposito

e come si può vedere i valori dei parametri passati sono corretti ma la query non restituisce nulla.
Se provo a sostituire nella stringa SQL i valori effettivi alle variabili $forms->data[''], la query funziona corretamente. Quindi se la stringa SQL è la seguente:

Codice: [Seleziona]
$query = "SELECT * FROM cdg_chronoforms_data_new_turno WHERE addetto='esposito' AND turno='07/13' AND data='21/07/2013' ORDER BY cf_id ASC ";

la query funziona, invece con la stringa SQL

Codice: [Seleziona]
$query = "SELECT * FROM cdg_chronoforms_data_new_turno WHERE data=".$form->data['d']." AND turno=".$form->data['t']." AND addetto=".$form->data['a'];

non funziona, nonostante i parametri sono passati in maniera corretta.
Qualcuno sa spiegarmi il problema?

Offline elleoerre

  • Appassionato
  • ***
  • Post: 218
  • Sesso: Maschio
    • Mostra profilo
Re:Errore mysql_fetch_array()?????? Aiuto !!!!
« Risposta #5 il: 22 Lug 2013, 18:22:33 »
E vaiiiiii, ho trovato il problema... L'errore era sempre nella stringa SQL, mancavano gli apici singoli (') prima delle variabili $form->data['a'], quindi la stringa esatta è:

Codice: [Seleziona]
$query = "SELECT * FROM cdg_chronoforms_data_new_turno WHERE data='".$form->data['d']."' AND turno='".$form->data['t']."' AND addetto='".$form->data['a']."' ORDER BY cf_id ASC";

Perfetto, ho risolto questo post, perciò lo chiudo e ci metto [RISOLTO] nel primo post. Grazie a tutti...  ;)

 



Web Design Bolzano Kreatif