[英]Add multiply rows on a table. PHP-MySQL
我從以下URL檢索部分下面提到的代碼: 通過php數組將多行插入mysql但是,我遇到了問題。 我的代碼如下:
//create an array
$array = array();
//add some values
//1st var_dump($array);
var_dump($array);
$msql = array();
foreach( $array as $row ) {
$msql[] = '('.$row['trend'].', '.$row['image_url'].','.$row['sku'].')';
}
var_dump($msql);
$insertData = "INSERT INTO Data_Info (trend, image_url,sku) VALUES ".implode(',', $msql);
mysql_query($insertData) or die(mysql_error());
mysql_close($conn);
我創建的表包含三個字段->趨勢,image_url,sku。
第一個var_dump的結果:
array(6) {
[0]=> string(7) "mytrend"
[1]=> string(70) "http://re.n.o.coat.png"
[2]=> string(12) "militarycoat"
[3]=> string(7) "mytrend"
[4]=> string(73) "http://re.n.o.padded.png"
[5]=> string(15) "signaturepadded"
}
2n var_dump的結果:
array(6) {
[0]=> string(8) "(m, m,m)"
[1]=> string(8) "(h, h,h)"
[2]=> string(8) "(m, m,m)"
[3]=> string(8) "(m, m,m)"
[4]=> string(8) "(h, h,h)"
[5]=> string(8) "(s, s,s)"
}
Unknown column 'm' in 'field list'
我不明白怎么了。 誰能幫我?
您正在遍歷輸入數組的每個元素,然后嘗試訪問沒有字符串的屬性。 (驚訝的是它什么也沒做)
嘗試for
循環。
for($i = 0; $i < count($array); $i+=3)
{
$msql[] = '('.$array[$i].', '.$array[$i+1].','.$array[$i+2].')';
}
或不同地定義$ array以適合您的循環。
如第一個var_dump中所示,您嘗試使用$ row ['trend']等訪問數組的關聯數組(多維)...。 您的第一個var_dump應該如下所示:
$array = array(0 => array("trend"=> "value", "image_url" => "value, "sku" => "value"), 1=> array( .... ) and so on.
Unknown column 'm' in 'field list'
由以下方式生成:
$insertData = "INSERT INTO Data_Info (trend, image_url,sku) VALUES ".implode(',', $msql);
VALUES
必須封裝在方括號中。 數據也應該用引號引起來。 現在是:
VALUES (m, m, m),(h, h, h)
它應該是:
VALUES (('m', 'm', 'm'),('h', 'h', 'h'))
^ ^
|_________encapsulated__________|
否則,數據將被視為列( Unknown column 'm' in 'field list'
)
其次,你的陣列不包含鍵trend
, image_url
和sku
,所以你從他們那里得到的值是數組中的每個字符串的第一個字母:
(m, m,m)
來自"mytrend"
的首字母 (h, h,h)
來自"http://re.nocoat.png"
因此,像這樣創建數組:
$array = array(0 => array("trend" => "put",
"image_url" => "something",
"sku" => "in here"),
1 => array("trend" => "value1",
"image_url" => "value2",
"sku" => "value3"),
/* etc.. */
);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.