第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將數(shù)組從 js 發(fā)送到 php 再到 SQL 數(shù)據(jù)庫

將數(shù)組從 js 發(fā)送到 php 再到 SQL 數(shù)據(jù)庫

PHP
達令說 2023-04-15 14:26:19
我希望我在這里遺漏了一些簡單的東西。我有一個在 js 中創(chuàng)建的數(shù)組,說:var ids = [1,2,3,4,5];現(xiàn)在我希望這個數(shù)組填充我的 SQL 數(shù)據(jù)庫表中的一列。我有用于將單個元素添加到我的表中的管道設(shè)置,如下所示:請求通過ajax發(fā)送:$.ajax({  type: "POST",  url: "some.php",  data: {    ids: ids,  }});some.php接收數(shù)據(jù)(建立連接等):$ids = $_POST['ids'];SQL 用于將單個值插入列 COL_ID$sql = "INSERT INTO `mydb`.`dbtable`(`COL_ID`) VALUES ('$ids)";此管道適用于單個值(例如,ids = 2但不適用于數(shù)組。我想要的是將COL_ID每個數(shù)組元素包含為一行| COL_ID    ||--------   || 1         || 2         || 3         || 4         || 5         |我懷疑它在 SQL 查詢中。歡迎任何幫助。
查看完整描述

2 回答

?
慕村9548890

TA貢獻1884條經(jīng)驗 獲得超4個贊

首先,使用準備好的語句,不要將發(fā)布數(shù)據(jù)直接插入數(shù)據(jù)庫查詢。直接使用 post 數(shù)據(jù)意味著你容易受到 sql 注入攻擊。


正如@DanielReed 所指出的,正確的格式是


INSERT INTO table_name (column_list) VALUES (value_list_1), (value_list_2), (value_list_3);

您可以動態(tài)構(gòu)建它:


$ids = $_POST['ids'];

// Make sure we get the correct number of ? for prepared statements

$params = str_repeat('(?), ', count($ids));

// Strip the trailing space and comma

$params = substr($params, 0, -2);


$sql = 'INSERT INTO `mydb`.`dbtable`(`COL_ID`) VALUES ' . $params;

現(xiàn)在您可以使用 $sql 作為查詢,使用 $ids 作為準備好的語句的值。這可以防止 sql 注入。


查看完整回答
反對 回復 2023-04-15
?
慕容3067478

TA貢獻1773條經(jīng)驗 獲得超3個贊

PHP 將其作為數(shù)組接收。


SQL 語法希望它具有以下語法:


INSERT INTO table_name (column_list)

VALUES

    (value_list_1),

    (value_list_2),

    ...

    (value_list_n);

所以你可以做的是:


$sql = "INSERT INTO `mydb`.`dbtable`(`COL_ID`) ";

foreach($ids as $value){

     $sql .= "(".$value.") ";

}


查看完整回答
反對 回復 2023-04-15
  • 2 回答
  • 0 關(guān)注
  • 165 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號