2017-10-20 13 views
0

J'ai quelques requêtes MySQL, mais l'une d'entre elles ne fonctionne pas ("Numéro 1"). L'autre requête ("Numéro 2") fonctionne correctement. Mais je dois répéter "Numéro 2" plusieurs fois, plus de 100. C'est dur. Je ne reçois pas la requête "Numéro 1" pour fonctionner. Qu'est-ce qui ne va pas?La requête MySQL fetch array ne fonctionne pas

"Numéro 1"

<?php 
require_once ("../config/config.db.inc.php"); 

$sdd_db_host = DB_HOSTNAME; 
$sdd_db_name = DB_DATABASE; 
$sdd_db_user = DB_USERNAME; 
$sdd_db_pass = DB_PASSWORD; 
mysql_connect($sdd_db_host,$sdd_db_user,$sdd_db_pass); 
mysql_select_db($sdd_db_name); 

mysql_query ("set_client='utf8'"); 
mysql_query ("set character_set_results='utf8'"); 
mysql_query ("set collation_connection='utf8_general_ci'"); 
mysql_query ("SET NAMES utf8"); 
$menu = mysql_fetch_array(mysql_query("SELECT * `tbl_customers`")); 

echo $menu['finskaya_razdel']; ?> 

rien ne se passe, mais il faut! [ 'Finskaya_razdel'] est non seulement un ...

"Numéro 2"

<?php 
require_once ("../config/config.db.inc.php"); 

$sdd_db_host = DB_HOSTNAME; 
$sdd_db_name = DB_DATABASE; 
$sdd_db_user = DB_USERNAME; 
$sdd_db_pass = DB_PASSWORD; 
mysql_connect($sdd_db_host,$sdd_db_user,$sdd_db_pass); 
mysql_select_db($sdd_db_name); 

mysql_query ("set_client='utf8'"); 
mysql_query ("set character_set_results='utf8'"); 
mysql_query ("set collation_connection='utf8_general_ci'"); 
mysql_query ("SET NAMES utf8"); 

$menu = mysql_query("SELECT finskaya_razdel FROM `tbl_customers` WHERE customers_id='1008' or customers_id='8'"); 
$menu_res = mysql_result($menu, 0); 

echo $menu_res; ?> 

Cette requête fonctionne. Mais c'est fou ... J'ai plus de 100 requêtes à faire. Numéro 1 plus "magnifique". Qu'est-ce que je fais mal?

+4

utilisez mysqli ou pdo. mysql est obsolète. –

+0

Il serait également intéressant ce que «print_r ($ menu);' retournerait –

+0

@BarclickFloresVelasquez ... merci ... –

Répondre

1
  1. msql_fetch_* extrait une ligne à la fois. Vous devez boucler et appliquer à chaque fois.
  2. Pour utiliser les noms de colonnes, vous devez utiliser mysql_fetch_assoc (avec mysql_fetch_array vous devrez utiliser des numéros d'index).

Alors ...

$menu = mysql_query("SELECT * FROM tbl_customers"); 

while ($row = mysql_fetch_assoc($menu)) 
    echo $row["finskaya_razdel"]; 

... ou si vous avez besoin d'avoir les résultats dans un tableau multidimensionnel php ...

$menu = mysql_query("SELECT * FROM tbl_customers"); 

$results = array(); 
while ($row = mysql_fetch_assoc($menu)) 
    $results[] = $row; 

NOTE: @ BarclickFloresVelasquez a raison. Vous devriez passer à mysqli ou PDO

+0

Désolé de tout mais ne fonctionne toujours pas! –

+0

Le 'FROM' était manquant dans la requête. Essayez maintenant –

+0

Et je n'en ai pas besoin dans "while" .. il "doit être dans différentes parties d'une page) ... Ouais j'ai trouvé FROM .. et c'est arrivé; Mais pourrais-je le faire sans "tout". –