簡體   English   中英

在MySQL數據庫中插入多個數組值

[英]Inserting multiple array values in mySQL database

我有兩個PHP變量,都是字符串:

$friendslist = "2323443,7245,284683,345123,8456234,95432"

$id = "10288272";

我關注的表的結構如下:

表名稱:用戶鏈接

link_id   user_1    user_2

我需要將這些值插入表中,以便user_1始終是$ id,而user_2是$ friendslist字符串的成員。 它看起來像這樣:

link_id   user_1    user_2
1         10288272  2323443
2         10288272  7245
3         10288272  284683
4         10288272  345123

我知道插入許多值的基礎知識,因此,在這種情況下,我會使用以下方法:

mysql_query("INSERT INTO UserLinks (User_1, User_2) VALUES ('10288272','2323443'),('10288272','7245'),('10288272','284683')");

但是我想到的唯一方法是寫這樣的(因為這些值顯然不是插入的實際值)是這樣的:

$friendarray = explode(",", $friendslist);

for ($n = 0; $n < count($friendarray); $n++) {
      $friendidpush = "('".$id."','".$friendarray[$n]."'),";
      array_push($frienduserarray, $friendidpush);
}

接下來將$ frienduserarray轉換為字符串,然后將其包括在我的查詢中。 這為我返回了一個錯誤,我認為這不是正確的方法...但是我正在努力尋找在線解決方案。

您沒有將$frienduserarray初始化為一個數組,所以array_push不起作用。

$friendarray = explode(",", $friendslist);
$frienduserarray = array();

for ($n = 0; $n < count($friendarray); $n++) {
      $friendidpush = "('".$id."','".$friendarray[$n]."'),";
      array_push($frienduserarray, $friendidpush);
}

請注意,這似乎使我感到復雜。 為什么第二個數組甚至是必需的? 只需使用字符串串聯即可。

$query = "INSERT INTO UserLinks (User_1, User_2) VALUES ";
$friendarray = explode(",", $friendslist);

foreach ($friendarray as $friend) {
    $query .= "('" . $id . "','" . $friend . "'),";
}

$query = substr($query, 0, -1); // remove trailing comma

mysql_query($query);
$comma  = "";
$values = "";
$array  = explode(",",$friendslist);
foreach ($array as $friendid) {
  $values .= $comma."($id,$friendid)";
  $comma = ",";
}
$sql = "INSERT INTO UserLinks (User_1, User_2) VALUES $values"

由於沒有在代碼中的任何位置將$frienduserarray聲明為數組,因此出現此錯誤。 只要聲明一下

 $frienduserarray=array();

for循環之前。 之后,您的代碼應如下所示

  $friendarray = explode(",", $friendslist);
  $frienduserarray=array();
  for ($n = 0; $n < count($friendarray); $n++) {
      $friendidpush = "('".$id."','".$friendarray[$n]."'),";
      array_push($frienduserarray, $friendidpush);
  }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM