2010-10-29 12 views
0

Y at-il un problème avec cette syntaxe?sql problème de syntaxe

SELECT * FROM tblcustomer WHERE uName LIKE '%%' AND tMonth = '3' ORDER BY uName ASC 

je suis cette erreur .. Warning: mysql_fetch_array() attend le paramètre 1 pour être ressource, booléen donné ..

EDIT

INCLUDE 'settings.php';

$con = connectDB(); 
$mo = array('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'); 
for($mm=1;$mm<13;$mm++) { 
    if(strtolower($mo[$mm-1])==strtolower(trim($_GET['uMonth']))) { 
     $xyz = $mm; 
     break; 
    } else { 
     $xyz = date("n"); 
    } 
} 
$q = "SELECT * FROM tblcustomer WHERE uName LIKE '%" . $_GET['uName'] . "%' AND tMonth = '" . $xyz . "' ORDER BY uName ASC"; 
//echo $q; 
//exit; 
$r = mysql_query($q,$con); 

while($row=mysql_fetch_array($r)) { 
    echo $row['uName']; 
} 
+1

La requête peut-elle échouer pour une raison quelconque? Mauvaise connexion, table manquante, etc. Cela pourrait causer que mysql_query retourne FALSE au lieu d'un descripteur. –

+0

ah oui .. je l'ai .. .. –

Répondre

1

Le problème n'est pas avec le SQL, c'est avec la façon dont vous appelez mysql_fetch_array(). Essayez de poster votre code PHP aussi.

+0

edit ajouté sir .. –

+0

@vrynxzent Vous ne devez pas passer votre variable de connexion '$ r' à l'appel' mysql_query', selon la documentation: http://php.net /manual/en/function.mysql-query.php –

0

Il y a quelque chose de mal avec votre appel à mysql_fetch_array(), pas votre requête.