gpt4 book ai didi

php - 如何将数组插入MYSQL数据库?

转载 作者:行者123 更新时间:2023-11-29 14:28:26 25 4
gpt4 key购买 nike

我有一个数组,我正在尝试将其插入到我的 MYSQL 数据库中。我不确定它是我的 MYSQL 数据库还是我的 php 代码,但是当我打开我的 php 文件时,它不会在我的表中插入任何内容。这是我到目前为止的代码。

    <?php
$con = mysql_connect("localhost","***","***");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}

mysql_select_db("ms122r_reports", $con);

// Filter out zeros
$words = file('http://www.ndbc.noaa.gov/data/latest_obs/latest_obs.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);

$words = array_map('rtrim',$words);
$string = implode(" ",$words);
$array = explode(" ",$string);

$filtered = (array_filter($array));

$row4 = array_slice($filtered, 704, 22);

$var1 = array_slice($row4, 0, 1);
$var2 = array_slice($row4, 1, 1);
$var3 = array_slice($row4, 2, 1);
$var4 = array_slice($row4, 3, 1);
$var5 = array_slice($row4, 4, 1);
$var6 = array_slice($row4, 5, 1);
$var7 = array_slice($row4, 6, 1);
$var8 = array_slice($row4, 7, 1);
$var9 = array_slice($row4, 8, 1);
$var10 = array_slice($row4, 9, 1);
$var11 = array_slice($row4, 10, 1);
$var12 = array_slice($row4, 11, 1);
$var13 = array_slice($row4, 12, 1);
$var14 = array_slice($row4, 13, 1);
$var15 = array_slice($row4, 14, 1);
$var16 = array_slice($row4, 15, 1);
$var17 = array_slice($row4, 16, 1);
$var18 = array_slice($row4, 17, 1);
$var19 = array_slice($row4, 18, 1);
$var20 = array_slice($row4, 19, 1);
$var21 = array_slice($row4, 20, 1);
$var22 = array_slice($row4, 21, 1);

// Insert into database
mysql_query("INSERT INTO table1(#STN, LAT, LON, YYYY, MM, DD, hh, mm2, WDIR, WSPD, GST, WVHT, DPD, APD, MWD, PRES, PTDY, ATMP, WTMP, DEWP, VIS, TIDE)
VALUES ($var1, $var2, $var3, $var4, $var5, $var6, $var7, $var8, $var9, $var10, $var11, $var12, $var13, $var14, $var15, $var16, $var17, $var18, $var19, $var20, $var21,
$var22)");

mysql_close($con);
?>

抱歉,我是 PHP 和 MYSQL 新手。我的 MYSQL 数据库中的列名与 table1() 的 () 中显示的列名相同,并且它们的类型设置为“text”。非常感谢任何帮助,谢谢。

最佳答案

不要忘记引用你的变量如 VALUES ('$var1', '$var2' ....)

顺便说一句,我建议你稍微清理一下你的代码。创建 $var{1-22} 将是一场噩梦。您可以使用 implode 函数而不是创建 22 个变量

我不知道,也许是这样?

echo 'VALUES (\'' . implode('\',\'', $row) . '\')';

另外,我不确定 Mysql 是否允许名称带有 # 的列。查看您的 #STDN 列并检查是否允许这样做。

考虑以下因素:

  • 请考虑切换到 PDOmysqli 。如果您使用PDO,这个问题将有一个非常简单的解决方案。

  • 如果您想坚持使用 mysql_* 函数,至少要使用 mysql_real_escape_string 清理要插入数据库中的所有数据。 .

关于php - 如何将数组插入MYSQL数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10491661/

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