2010-12-27 7 views
0

Je vais avoir beaucoup de mal avec "INSERT INTO" ...entrée requête compliquée php mysql

J'ai un numéro de partie variable donc ce mon 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"); 


?> 

La chose étrange est ... je ne reçois pas une erreur ("ne pouvait pas exécuter la requête") donc je pensais que ça allait bien mais quand je regarde dans ma base de données, il n'y a pas de valeurs écrites ... quand je ne commente pas la les 2 variables:

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

et commenter le foreac h boucle, ça marche ...? Il y a quelque chose de mal va dans la boucle foreach, mais quand je l'écho $ sql sur les deux méthodes i obtenir le même:

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') 

Je ne sais vraiment pas ce que je fais mal ...?

Meilleures salutations, Thijs

Répondre

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

Pour

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

Il a travaillé ... pour une fois, la chose étrange est que si je "vidé la table" rafraîchir la page qu'il a gagné N'écris pas à nouveau ... sauf si je change une valeur du numéro de pièce ...? Est-ce quelque chose de cache? – Thijs