gpt4 book ai didi

PHP - 数组到 MySQL 表

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

我正在尝试使用 while 循环将文本框字段文本插入 MySQL 表行。

这是部分代码:($datetoday = 270313)

                        <?php 


$i=0;
while ($i < $row_Num) {
${'date_'.$i} = $_REQUEST["{'date_'.$i}"];
${'text_'.$i} = $_REQUEST["{'text_'.$i}"];
${'con_name_'.$i} = $_REQUEST["{'con_name_'.$i}"];
${'con_phone_'.$i} = $_REQUEST["{'con_phone_'.$i}"];

$values= array(${'date_'.$i},${'text_'.$i},${'con_name_'.$i},${'con_phone_'.$i});
print_r($values);
$sql = "INSERT INTO data.$datetoday(`KEY,`DATE`,`COLOR`,`TEXT`,`CON_NAME`,`PHONE`) VALUES (`$i`,`$values[0]`,`FFFFFF`,`$values[1]`,`$values[2]`,`$values[3]`)";
$result = mysql_query($sql,$link);
if (!$result) {
die ("Can't create table named $datetoday : " . mysql_error());
}
$i++;
}


?>

页面的 URL 是:

> http://localhost:5110/test.php?date_0=000000&text_0=QWERTY&con_name_0=iuytre&con_phone_0=0000000000&date_1=111111&text_1=ASDFGHJK&con_name_1=lkjhgfd&con_phone_1=1212121212

但是它不会更新表格或打印数组(用于测试)。有什么建议吗?

最佳答案

有几个小问题,使用你的 URL 子字符串我让它工作,见下文:

$row_Num = 1;
$i = 0;
while ($i <= $row_Num) {
// In the $_REQUEST you were indexing the curly braces, remove them.
${"date_" . $i} = $_REQUEST["date_$i"];
${"text_" . $i} = $_REQUEST["text_$i"];
${"con_name_" . $i} = $_REQUEST["con_name_$i"];
${"con_phone_" . $i} = $_REQUEST["con_phone_$i"];

$values = array(
${"date_" . $i},
${"text_" . $i},
${"con_name_" . $i},
${"con_phone_" . $i}
);
// Not printr() And this is how I print arrays, it is cleaner.
echo '<pre>', print_r($values, true), '</pre>';
$i++;
}

输出:

Array
(
[0] => 000000
[1] => QWERTY
[2] => iuytre
[3] => 0000000000
)
Array
(
[0] => 111111
[1] => ASDFGHJK
[2] => lkjhgfd
[3] => 1212121212
)

编辑

我还是不清楚你是如何设置$row_Num的。

$_SESSION['row_Num'] = $_REQUEST["row_Num"];

这没有告诉我任何信息,因为您显示的 $_REQUEST 字符串不包含“row_Num”。因此,由于您的查询需要 DATE,我制作了一个 foreach 循环来计算 DATE 出现的次数。请尝试以下代码并告诉我。

$i = 0;
$count = 0;
// I added this line to take care of how many times the loop runs
foreach ($_REQUEST as $key => $value) { (strstr($key, 'date')) ? $count++ : NULL; }
// Changed '<=' to '<' because it would loop 3 times since we start $i at 0.
// $i needs to remain at 0 since your URL substring indexing starts at 0.
while ($i < $count) {
${'date_' . $i} = $_REQUEST["date_$i"];
${'text_' . $i} = $_REQUEST["text_$i"];
${'con_name_' . $i} = $_REQUEST["con_name_$i"];
${'con_phone_' . $i} = $_REQUEST["con_phone_$i"];

$values = array(
${"date_" . $i},
${"text_" . $i},
${"con_name_" . $i},
${"con_phone_" . $i}
);

### Echo for troubleshooting ###
echo '<pre>', print_r($values, true), '</pre>';
$sql = "INSERT INTO `data`.`".$datetoday."` (`KEY`,`DATE`,`COLOR`,`TEXT`,`CON_NAME`,`PHONE`) VALUES
(
'".$i."',
'".$values[0]."',
'FFFFFF',
'".$values[1]."',
'".$values[2]."',
'".$values[3]."'
)";

### Echo for troubleshooting ###
echo '<pre>', $sql, '</pre>';
$result = mysql_query($sql, $link) or die ('Could not insert values: '.mysql_error());
$i++;
}

输出:

Array
(
[0] => 000000
[1] => QWERTY
[2] => iuytre
[3] => 0000000000
)
INSERT INTO `data`.`280313` (`KEY`,`DATE`,`COLOR`,`TEXT`,`CON_NAME`,`PHONE`) VALUES
(
'0',
'000000',
'FFFFFF',
'QWERTY',
'iuytre',
'0000000000'
)
Array
(
[0] => 111111
[1] => ASDFGHJK
[2] => lkjhgfd
[3] => 1212121212
)
INSERT INTO `data`.`280313` (`KEY`,`DATE`,`COLOR`,`TEXT`,`CON_NAME`,`PHONE`) VALUES
(
'1',
'111111',
'FFFFFF',
'ASDFGHJK',
'lkjhgfd',
'1212121212'
)

关于PHP - 数组到 MySQL 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15662388/

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