把數(shù)組轉(zhuǎn)成json或其他字符串在寫入數(shù)據(jù)庫,不轉(zhuǎn)換字符串無法寫入或自由Array,我是沒試過,反正我知道是無法寫入,我都是轉(zhuǎn)成json后在寫入。
創(chuàng)新互聯(lián)為客戶提供專業(yè)的網(wǎng)站設(shè)計、做網(wǎng)站、程序、域名、空間一條龍服務(wù),提供基于WEB的系統(tǒng)開發(fā). 服務(wù)項目涵蓋了網(wǎng)頁設(shè)計、網(wǎng)站程序開發(fā)、WEB系統(tǒng)開發(fā)、微信二次開發(fā)、手機網(wǎng)站開發(fā)等網(wǎng)站方面業(yè)務(wù)。
?php
$array=array(
"data1"="data1",
"data2"=array(
"data22"="data22",
"data222"="data222"
),
"data3"="data3"
);
$encode=json_encode($array);?//數(shù)據(jù)庫寫入轉(zhuǎn)換
$addslashes=addslashes(json_encode($array));?//如果只用英文字符的話可以直接用上面,用中文或有帶斜杠/,PHP寫入數(shù)據(jù)庫的時候會去掉斜杠/,所以addslashes函數(shù)在轉(zhuǎn)換下寫入
$decode=json_decode($array,true);?//數(shù)據(jù)庫讀取轉(zhuǎn)換
?
lxydjx 正解,我來詳細(xì)補充一下吧。未經(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].")");
}
// 用 , 連接,轉(zhuǎn)換為 string
$sql = implode(",", $sql);
// 插入數(shù)據(jù)庫
mysql_query("INSERT INTO table_sales (dingid, detailsid, buynumber) VALUES ($sql)");
直接存數(shù)組里的字符串就行了。
如$a="0,1,2,3,";或$a=join(",",array(0,1,2,3));
mysql_query("INSERT INTO admin (monday) VALUES($a)");
這樣字段monday的就是0,1,2,3,
讀取的時候要重新組成數(shù)組的話就分割重組。
沒用框架就直接拼接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也是有長度限制的