gpt4 book ai didi

php - 将 php 数组插入 mySql

转载 作者:行者123 更新时间:2023-11-29 05:40:12 25 4
gpt4 key购买 nike

我正在寻找一些指导。

我有一个数据表单字段,我正在将其插入到一个表中,并希望将数据与其他相关数据的 ID 相关联。我想知道是否有推荐的方法来插入与我所指信息相关的相关 ID 数组。

下面是我的想法...

例如。 php 读取

 <?php
$name = $_POST['name'];
$info = $_POST['information'];
$id = $_POST['id'];
$family = array();
?>
<?php

$select = "SELECT *
FROM `names_family`
WHERE `name` LIKE '$name'
LIMIT 0 , 30";

$selected = mysql_query($select, $connection);
if(!$selected){
die("Hal 9000 says: Dave the select family name ID query failed " . mysql_error());}


while($row = mysql_fetch_array($selected)){
$familyId = $row[0];
$familyName = $row[1];

array_push($family, $familyName => $familyId);

}

$insertInfo = "INSERT INTO `family_info`.`info`
(`name`, `info`, `family`)
VALUES (
'$name', '$info', '$family');";

$insertedInfo = mysql_query($insertInfo, $connection);
if(!$insertedInfo){
die("Hal 9000 says: Dave the insert info query failed " . mysql_error());}
?>

这是推荐的信息关联方式吗?或者有另一种方法可以达到同样的效果吗?

最佳答案

MySQL 中的“family”列是什么数据类型?我很确定你不能直接将这样的 php 数组插入到 MySQL 中。如果可能的话,猜猜这是我不知道的事情之一,因为我什至从未尝试过。

最简单的方法是将 php 数组编码为 JSON 字符串,然后在读取时将其解码回 php 数组。

$family = array();
...
$familyJsonString = json_encode($family);
...
$insertInfo = "INSERT INTO `family_info`.`info`
(`name`, `info`, `family`)
VALUES (
'$name', '$info', '$familyJsonString');";
...
$queryString = "SELECT * FROM family_info WHERE name = '$someName'";
$query = mysql_query($queryString, $connection);
$familyData = mysql_fetch_assoc($query);
$decodedFamilyArray = json_decode($familyData['family']);

根据家族数组的长度,家族列应该是 varchar 或文本类型。

一种更可靠的方法是创建一个单独的表来存储您的家庭数据,并使用 MySQL JOIN 语句获取与 family_info 表中的一个条目关联的值。

这里有一些关于连接的信息

Joining two tables without returning unwanted row

http://dev.mysql.com/doc/refman/5.0/en/join.html

关于php - 将 php 数组插入 mySql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7303505/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com