你這兩條SQL插入的是同一表么?要求插入的是同一條數(shù)據(jù)么
網(wǎng)站建設哪家好,找成都創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、微信小程序、集團企業(yè)網(wǎng)站建設等服務項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了尼瑪免費建站歡迎大家使用!
你都沒表述清楚
數(shù)組是沒有辦法插入mysql數(shù)據(jù)庫的,一般是把數(shù)組連接成字符串,存入,取出再拆分為數(shù)組輸出。implode('連接符號',數(shù)組$arr);explode('拆分標志',字符串$a);
lxydjx 正解,我來詳細補充一下吧。未經(jīng)測試、、、
//初始化
$sql = array();
// 從 a.php POST 過來的值
$_POST["xinxi"] = "20-2,19-1,18-1";
// 拆分為 array("20-2", "19-1", "18-1");
$post_data = explode(",", $_POST["xinxi"]);
// 循環(huán)數(shù)組
for($i = 0; $i count($post_data); $i++) {
// 再次拆分每一條信息為 array("20", "2"), array("19", "1"), array("18", "1")
$details = explode("-", $post_data[$i]);
// 將每一條信息添加到 $sql 數(shù)組中
array_push($sql, "(20121015194535193356, ".$details[0].", ".$details[1].")");
}
// 用 , 連接,轉換為 string
$sql = implode(",", $sql);
// 插入數(shù)據(jù)庫
mysql_query("INSERT INTO table_sales (dingid, detailsid, buynumber) VALUES ($sql)");
沒用框架就直接拼接sql語句啊
$sql = 'insert into tablename(field1, field2, field3) values(val1, val2, val3), (val1, val2,val3)';
主要就是拼接values后面的內(nèi)容,一個括號一條數(shù)據(jù),拼接完執(zhí)行數(shù)據(jù)庫插入操作就行了;
如果數(shù)據(jù)量很大,注意每次拼接的sql不要太長了,數(shù)據(jù)庫執(zhí)行的sql也是有長度限制的
把數(shù)組轉成json或其他字符串在寫入數(shù)據(jù)庫,不轉換字符串無法寫入或自由Array,我是沒試過,反正我知道是無法寫入,我都是轉成json后在寫入。
?php
$array=array(
"data1"="data1",
"data2"=array(
"data22"="data22",
"data222"="data222"
),
"data3"="data3"
);
$encode=json_encode($array);?//數(shù)據(jù)庫寫入轉換
$addslashes=addslashes(json_encode($array));?//如果只用英文字符的話可以直接用上面,用中文或有帶斜杠/,PHP寫入數(shù)據(jù)庫的時候會去掉斜杠/,所以addslashes函數(shù)在轉換下寫入
$decode=json_decode($array,true);?//數(shù)據(jù)庫讀取轉換
?