gpt4 book ai didi

PHP Implode 无法与 mysql_query 一起使用

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

所以我有两个数组,$gDatabaseKeyNames(列名列表)和$gDatabaseKeyValues(包含脚本值的变量名列表)。变量名称是动态生成的,因此我可以跟踪它们以进行插入。

我没有列出所有列和值变量,而是尝试了这个

$cols = implode(", ", array_values($gDatabaseKeyNames));
$vals = implode(", ", array_values($gDatabaseKeyValues));

$query = "INSERT INTO pings (survey_id, $cols) VALUES ('$surveyID', $vals)";
mysql_query ($query) or die(mysql_error());

但是我的实际值都没有显示在数据库中(它们被插入为 0 - 我的所有列都是数字)。

如果我回显 $query,我会看到以下内容,这是正确的格式:

INSERT INTO pings (survey_id, latitude, longitude, pingTimestamp) VALUES ('15', '$Dlatitude', '$Dlongitude', FROM_UNIXTIME('$DtimeStamp'))

但是,如果我将 $query 更改为

$query = INSERT INTO pings (survey_id, latitude, longitude, pingTimestamp) VALUES ('$surveyID', '$Dlatitude', '$Dlongitude', FROM_UNIXTIME('$DtimeStamp'));

完美运行!

为什么 PHP 不解释内爆中的变量?我该如何解决这个问题?

最佳答案

我怀疑 $cols 具有字面值 '$Dlatitude'、'$Dlongitude' 等...。 PHP 不会“双重插入”字符串。它将用它的值替换 $cols,但不会用该变量的值替换 $Dlatitude。换句话说,您实际上是在数字字段中插入一些看起来像 PHP 变量名称的字符串。

$gDatabaseKeyValues/Names 数组中有什么?

关于PHP Implode 无法与 mysql_query 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7352022/

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