2010-12-27 5 views
0

У меня большие проблемы с «INSERT INTO» ...сложного запрос записи MySQL PHP

У меня есть переменная часть номера так что это мой код ...:

<?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"); 


?> 

Странного это ... я не получаю ошибку («не удалось выполнить запрос»), поэтому я думал, что все пошло хорошо, но когда я смотрю в мою базу данных, нет никаких значений, написанных ... когда я не комментирую 2 переменные:

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

И прокомментировать предсказание h, это работает ...? Так что выходит что-то не так в цикле Еогеасп, но когда я эхо $ SQL на обоих методах я получаю то же самое:

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

Я действительно не знаю, что я делаю не так ...?

С наилучшими пожеланиями, Тайс

ответ

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

Для

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

Он работал ... за один раз, странное дело в том, что, если я «опустели таблицу» обновить страницу, на которой он выиграл 't писать снова ... кроме того, если я изменяю одно значение партига ...? Это какая-то кеш-память? – Thijs

Смежные вопросы