2010-12-27 20 views
0

ich große Probleme habe mit "INSERT INTO" ...komplizierte Abfrage Eintrag mysql php

Ich habe eine variable Teilnummer so das mein Code ...:

<?php 
include ("db_conn.php"); 

$mem_id = "1"; 
$descript = "chair"; 
$qualifier = "sitting"; 
$major = "Y"; 
$value = "6"; 
//$mesh_cell_string = "tree_0,tree_1,tree_2,tree_3,tree_4"; 
//$mesh_values_string = "'C23','550','291','687','500'"; 

$part_number = "C23.550.291.687.500"; 
$parts = explode('.', $part_number); 

$n = 0; 
foreach ($parts as $something => $number) 
     { 
     $mesh_cell_string .= "tree_" . $n . ","; 
     $mesh_values_string .= "'" . $number . "'," ; 

     $n++; 
     }  

$mesh_values_string = substr($mesh_values_string, 0, -1); 
$mesh_cell_string = substr($mesh_cell_string, 0, -1); 




$insert_string = "mem_id,mesh_heading_name," . $mesh_cell_string . ",qualifier_name,major,rank"; 
$values_string = "'$mem_id','$descript'," .$mesh_values_string. ",'$qualifier','$major','$value'"; 


$sql = "INSERT INTO mesh_table (" . $insert_string .") VALUES (" . $values_string .")"; 

$result = mysqli_query($cxn,$sql) or die ("couldn't execute the query"); 


?> 

Das Merkwürdige ist ... ich bekomme keinen Fehler ("konnte die Abfrage nicht ausführen"), also dachte ich, es lief gut, aber wenn ich in meine Datenbank gucke, werden keine Werte geschrieben ... wenn ich den Kommentar abnehme Die 2 Variablen:

//$mesh_cell_string = "tree_0,tree_1,tree_2,tree_3,tree_4"; 
//$mesh_values_string = "'C23','550','291','687','500'"; 

Und kommentieren Sie die Foreac h Schleife, es funktioniert ...? So geht es etwas falsch in der foreach-Schleife, aber wenn ich den $ sql auf beiden Methoden Echo bekomme ich das gleiche:

INSERT INTO mesh_table (mem_id,mesh_heading_name,tree_0,tree_1,tree_2,tree_3,tree_4,qualifier_name,major,rank) VALUES ('1','Chair','C23','550','291','687','500','sitting','Y','6') 

Ich weiß wirklich nicht, was ich falsch mache ...?

Mit freundlichen Grüßen, Thijs

Antwort

0
change $values_string = "'$mem_id','$descript'," .$mesh_values_string. ",'$qualifier','$major','$value'"; 

Um

$values_string = "'".$mem_id."','".$descript."'," .$mesh_values_string. ",'".$qualifier."','".$major."','".$value."'"; 
+0

Es funktionierte ... für einmal, ist das Merkwürdige, dass, wenn ich „die Tabelle geleert“, um die Seite zu aktualisieren, dass sie gewonnen schreib nicht nochmal ... außer wenn ich einen Wert der Teilenummer ändere ...? Ist das etwas Cache-Ding? – Thijs