[英]Insert a php string as multiple rows on MySQL table
我有一個包含超過 750 行數據的表,我將其粘貼到 textarea 並作為單個字符串變量獲取,然后我將數據作為一個字符串通過 ajax 傳遞,我想將它插入我的數據庫中的一個 INSER INTO線
if(isset($_POST['data'])){
$data = mysqli_real_escape_string($conexion,$_POST['data']); // get the string of data
// on the next two lines I try to give the format like if it were multiple rows of data to insert
$data = str_replace("\t", "','", $data);
$data = str_replace("\n", "')('", $data);
// at this point $data = data1','data2','data3','data4','data5','data6')
// ('data1','data2','data3','data4','data5','data6')
// .
// .
// .
// .
// ('data1','data2','data3','data4','data5','data6
$sql = "INSERT INTO table(col1, col2, col3, col4, col5, col5, col6) VALUES ('$data')";
$result = mysqli_query($conexion,$sql);
有沒有辦法使這項工作,我能夠一次在數據庫中插入一個值的數據,但是需要很長時間有什么想法嗎?
多行語句格式:
INSERT INTO table_name (column_list)
VALUES
(value_list_1),
(value_list_2),
...
(value_list_n);
您正在使用換行符來確定何時應該為記錄數據加上括號。 按照上面的格式,用逗號分隔。
$data = str_replace("\n", "'),('", $data);
由於您的 $data 現在包含許多記錄,每條記錄都包含在括號內並用逗號分隔,因此在構造 SQL 查詢時無需重復括號。
$sql = "INSERT INTO table(col1, col2, col3, col4, col5, col5, col6) VALUES $data";
我首選的調試方法是打印出 $sql 語句。 然后復制它並直接針對您的數據庫運行它以查看它引發的錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.