string(21) "["0.0",1.1,2.2,99.99]" } 我需要将它们插入到我的表中,但我不知道要使用哪种数据-6ren">
gpt4 book ai didi

php - 用于特定插入的数据类型

转载 作者:行者123 更新时间:2023-11-30 01:02:04 24 4
gpt4 key购买 nike

我有一个包含一些元素的数组:

array(1) { ["dump"]=> string(21) "["0.0",1.1,2.2,99.99]" } 

我需要将它们插入到我的表中,但我不知道要使用哪种数据类型。

define('SECURE', true);
require "connect_to_mysql.php";
$sqlCommand = "CREATE TABLE example (
id int(11) NOT NULL auto_increment,
inserts float(5),
PRIMARY KEY (id),
UNIQUE KEY user_name (inserts))";
if ($mysqli->query($sqlCommand)) {
echo "Your example table has been created successfully!";
} else {
echo "CRITICAL ERROR;".$mysqli->error;
}

此外,每个数组元素应该位于单独的数据字段中。我该怎么做?

更新

var_dump($_POST);   // gives: array(1) { ["dump"]=> string(17) "[3.3,4.3,3.4,4.4]" }
$var["dump"] = $_POST;

$arr = json_decode($var["dump"], true);

$col1 = $arr[0];
$col2 = $arr[1];
$col3 = $arr[2];
$col4 = $arr[3];

我需要做什么:1. 计算元素数,在本例中为:4。2. 将每个元素保存在单独的变量中。3.将这些元素插入我的表中

jsen_encode 在这种情况下只返回错误

最佳答案

你的变量只是单个字符串。你需要将它分成 4 个变量。最简单的方法是在变量格式中使用 json_decode() 。也正如@alok.kumar 所说。你需要 4 列(我认为 NUMERICFLOAT 更好)

这是示例代码:

$arr = json_decode($_POST["dump"], true); <= UPDATED

$col1 = $arr[0];
$col2 = $arr[1];
$col3 = $arr[2];
$col4 = $arr[3];

要像其他人所说的那样进行标准化,您需要两个表。以下只是示例。

表架构:

CREATE TABLE example(
id INT NOT NULL auto_increment,
primary key(id)
);

CREATE TABLE dumps(
id INT NOT NULL auto_increment,
example_id INT NOT NULL,
dump_value NUMERIC(5,2),
PRIMARY KEY(id),
INDEX(example_id),
);

通过$_POST插入数据:

$arr = json_decode($_POST["dump"], true);

for ($cnt = 0; $cnt < count($arr); ++cnt)
{
$insert_query = "INSERT INTO dumps (dump_values) VALUES(".$arr[$cnt].")";
}

关于php - 用于特定插入的数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20031001/

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