2010-11-30 31 views
0

J'ai besoin d'aller chercher deux colonnes de table de mysql & puis de remplacer la partie du contenu d'une colonne par le contenu d'une autre colonne. C'est comme ça que je fais mais ça ne montre rien.Comment extraire plusieurs colonnes de table par requête php?

$query = "SELECT id, msg FROM msg2_qualities"; 
    $result = mysql_query($query);  
    $outArray = array(); 
    if ($result) { 
     while ($row = mysql_fetch_assoc($result)) 
       { 
        $row2 = str_replace('testWord','$row[0]',$row[1]); 
        $outArray[] = $row2; 
        } 
       } 
    echo json_encode($outArray); 

EDIT J'ai testé le code en écho & $ row [0], $ row [1] ont aucune valeur. Mais si je lance la requête pour récupérer une seule colonne de la table, il fonctionne très bien comme

 $query = "SELECT msg FROM msg2_qualities"; OR 
    $query = "SELECT id FROM msg2_qualities"; 
+2

Votre problème principal est la logique. Un manque de logique, pour être certain. Vous demandez comment récupérer plusieurs colonnes, mais votre vrai problème est loin de cela. Pour voir plusieurs colonnes, vous devez les faire écho. Juste l'écho et rien d'autre. Pas de tableaux, pas de remplacement, mais juste un écho. Lorsque vous leur faites écho et que vous vous assurez d'avoir vos colonnes, vous verrez votre problème ailleurs. Une syntaxe de chaîne probablement –

+0

L'erreur de syntaxe étant $ row [0] dans les guillemets simples ... –

+0

Oui, cela est en effet plausible;) – mingos

Répondre

2

Essayez de supprimer les guillemets autour $row[0], et se référer aux champs par nom plutôt que l'index:

$row2 = str_replace('testWord', $row['id'], $row['msg']); 
1
vous

utilisent mysql_fetch_assoc si le code devrait ressembler à ceci: -

while ($row = mysql_fetch_assoc($result)) 
{ 
    $row2 = str_replace('testWord',$row['id'],$row['msg1']); 
    $outArray[] = $row2; 
} 

Merci.

+0

votre suggestion était très proche mais n'était pas assez clair si je l'ai essayé aussi. ThanX pour l'aide – XCeptable

+0

signifie que vous n'avez pas encore trouvé de solution ou ne fonctionne pas, je viens de montrer ce que vous faites mal. Je ne vais pas écrire toute la logique ici.Merci –

+0

non, vous l'avez pris mal, la solution est celle-ci $ row ['id'] et $ row ['msg']. Je vous remercie car votre suggestion était très proche de la solution. – XCeptable

Questions connexes