[英]RightMove Array - Insert column tItles and values MySQL
我非常容易陷入非常容易的事情。 我試圖使用PHP類從解析一個.BLM文件http://kodegeek.wordpress.com/2010/02/20/rightmove-data-parsing-php-class/
Class完美運行並輸出如下數組: -
Array ( [0] => Array ( [AGENT_REF] => _70 [ADDRESS_1] => 123 Main Street [POSTCODE1] => CF12 [POSTCODE2] => 4HY [FEATURE1] => Ideal Location [FEATURE2] => Only £250 per room [FEATURE3] => Three Double Bedrooms ) [2] => Array ( [AGENT_REF] => _83 [ADDRESS_1] => 45 Harriet Street [POSTCODE1] => CF24 [POSTCODE2] => 4BU [FEATURE1] => Modern [FEATURE2] => Laminate Flooring ) )
創建數組后,我想立即將數組插入SQL表中。 理想情況下,這將獲得Field標題,例如。 [AGENT_REF] [ADDRESS_1]並創建列並將數據作為每個數組的新行插入([0] =>數組[2] =>數組)等。
我嘗試了類似這樣的東西和其他許多變化,我似乎無法讓它工作。
function mysql_insert_array($table, $rmdata) {
foreach ($rmdata as $field=>$value) {
$fields[] = '`' . $field . '`';
$values[] = "'" . $value . "'";
}
$field_list = join(',', $fields);
$value_list = join(', ', $values);
$query = "INSERT INTO testarray (" . $field_list . ") VALUES (" . $value_list . ")";
您必須在插入之前使用字段列表創建表。 如果您沒有創建表,您可以使用:
$sql = "CREATE TABLE if not exists TABLENAME (
id tinyint(4) unsigned NOT NULL auto_increment,
AGENT_REF varchar(80) NOT NULL,
ADDRESS_1 varchar(255),
POSTCODE1 varchar(6),
POSTCODE2 varchar(6),
FEATURE1 varchar(255),
FEATURE2 varchar(255),
FEATURE3 varchar(255),
PRIMARY KEY (id)
)";
mysql_query($sql,$link);
並在你的功能之后。
<?php
$rmdata = ARRAY();
$rmdata[0]['field1'] = 1;
$rmdata[0]['field2'] = 'two';
$rmdata[0]['field3'] = 3;
$rmdata[0]['field4'] = NULL;
$rmdata[0]['field5'] = 'five';
$rmdata[1] = $rmdata[2] = $rmdata[3] = $rmdata[0];
foreach ($rmdata AS $key => $dummy) {
$fields = ARRAY();
$values = ARRAY();
foreach ($rmdata[$key] as $field=>$value) {
if (!isset($value)) {
//$value='';
// or
//if($field=='field4') { $value=4; }
// or $values[] = "NULL";
}
if (isset($value)) {
$fields[] = $field;
$values[] = "'".$value."'";
}
}
// if (count($fields) > 0)
echo 'key: '.$key.'<br />';
$sql_fields = implode(',', $fields);
$sql_values = implode(',', $values);
print_r($sql_fields); echo '<br />';
print_r($sql_values); echo '<hr />';
}
?>
$rmdata = ARRAY();
$rmdata['field1'] = 1;
$rmdata['field2'] = 'two';
$rmdata['field3'] = 3;
$rmdata['field4'] = NULL;
$rmdata['field5'] = 'five';
$fields = ARRAY();
$values = ARRAY();
foreach ($rmdata as $field=>$value) {
if (!isset($value)) {
//$value='';
// or
//if($field=='field4') { $value=4; }
// or $values[] = "NULL";
}
if (isset($value)) {
$fields[] = $field;
$values[] = "'".$value."'";
}
}
// if (count($fields) > 0)
$sql_fields = implode(',', $fields);
$sql_values = implode(',', $values);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.