2011-02-02 3 views
-1

Je dois lire un fichier texte, interroger la table de base de données avec ce nom et stocker les données de cette table dans une autre table. Jusqu'à présent, j'ai écrit ce code, mais je ne sais pas pourquoi cela ne fonctionne pas.quel est le problème avec ce code?

foreach ($lindb as $namedb) { 
    $query = "SELECT * FROM ntable WHERE name =" .$namedb. ""; 
    $result = mysql_query($query); 
    while ($r = mysql_fetch_array($result)) { 
     $query = "INSERT INTO ndtable (name,details,address,login,country) VALUES (\"".$r["name"]."\", \"".$r["details"]."\", \"".$r["address"]."\", \"".$r["login"]."\", \"".$r["country"]."\")";  
     mysql_query($query); 
    } 
} 
+2

Il est parfois bon d'afficher erreur mysql après une requête: 'mysql_error() 'lors du débogage – Cybrix

+0

Bien que le bogue soit lié à une instruction SQL mal formatée, ne dites pas" ça ne marche pas ", car vous ne donnez pas assez d'informations à quiconque pour vous aider raisonnablement. Toujours poster le message d'erreur réel à la place, voir http://www.catb.org/~esr/faqs/smart-questions.html#code – Juliet

Répondre

3

Vous n'avez pas des guillemets autour namedb

$ ie. SELECT * FROM ntable WHERE name =" .$namedb. ""; devrait être SELECT * FROM ntable WHERE name ='" .$namedb. "'";

0

Je suggère un SELECT INTO serait le meilleur choix ... et s'il vous plaît poster l'erreur que nous sommes en mesure d'aider ...