2016-05-14 3 views
0

Ich brauche Hilfe mit dem vollständigen Code, um diesen INSERT-Prozess zu implementieren: Ich habe leere NATAN_Procesos Tabelle, eine vollständige Tabelle mit Produkten Natan_Productos und eine dritte Tabelle Natan_Session, die einen Vergleichswert Giro2_ID speichert.versuchen, passende Zeilen in eine leere Tabelle aus einer Produkttabelle einzufügen, die eine Spalte in der Sesion-Tabelle

$stmt1 = $db->query("INSERT INTO Natan_Procesos (
Producto_ID, 
Producto_Nombre, 
Producto_Descripcion, 
Proveedor_ID, 
Sucursal_ID, 
Categoria_ID, 
Giro2_ID, 
Producto_Precio, 
Producto_Descuento, 
Producto_Imagen, 
Producto_Prioridad 
) 
VALUES((SELECT Giro2_ID FROM Natan_Productos 
WHERE Giro2_ID = giro2 FROM Natan_Sesion)"); 

Es wird nichts in die Tabelle geladen, nachdem die Abfrage ohne Fehler ausgeführt wurde. Was fehlt mir? ich sollte eine Liste von etwa 12 Produkte bekommen, die Giro2_ID entsprechen

Ich habe die folgende Abfrage, die gerade fein und seine ganz ähnlich gibt zu screenen:

//build the table 
echo "<table style='border: solid 1px black;'>"; 
echo "<tr><th>uid</th><th>monto</th><th>personas</th><th>ciudad</th><th>giro1</th><th>giro2</th><th>ip</th><th>Presupuesto_Individual</th></tr>"; 

class TableRows9 extends RecursiveIteratorIterator { 
    function __construct($it) { 
     parent::__construct($it, self::LEAVES_ONLY); 
    } 

    function current() { 
     return "<td style='width:150px;border:1px solid black;'>" . parent::current(). "</td>"; 
    } 

    function beginChildren() { 
     echo "<tr>"; 
    } 

    function endChildren() { 
     echo "</tr>" . "\n"; 
    } 
} 
$stmt = $db->prepare("SELECT * FROM Natan_Productos WHERE Giro2_ID = (SELECT giro2 FROM Natan_Sesion)"); 
    $stmt->execute(); 

    // set the resulting array to associative 
    $result = $stmt->setFetchMode(PDO::FETCH_ASSOC); 
    foreach(new TableRows9(new RecursiveArrayIterator($stmt->fetchAll())) as $k=>$v) { 
     echo $v; 
    } 
+0

Ist Ihnen klar, dass Sie versuchen, "FetchAll" auf eine Abfrage, die nichts zurückgibt? Das ist die INSERT-Abfrage und keine SELECT-Abfrage. –

+0

Ich habe tatsächlich versucht, diese Zeilen auszulassen und immer noch kein Ergebnis von $ stmt-> execute(); on oder off oder $ result = ... on oder off keine Kombination funktioniert bisher. Daher brauche ich Hilfe. Ich finde nur Daten über den Code von der INSERT und an, aber nicht über die Variablen oder den Abfragecode vor und nach INSERT, UPDATE, usw. Irgendwelche Hilfe? –

+0

Ich habe den fraglichen Code von awons entfernt. Dies speichert immer noch nichts irgendwo. Awons, sagen Sie eine Abfrage, die nichts zurückgibt. Bitte erläutern. Der einzige Teil in Frage ist der erste Code-Block in meinem ursprünglichen Beitrag. –

Antwort

0

Antwort ist:

$stmt1 = $db->query("INSERT INTO db.destinationtable SELECT * FROM db.sourcetable WHERE columnname = (SELECT comparisoncolumnname FROM db.comparisontable)"); 

mit PDO

Verwandte Themen