0

我有一个通过 wget 运行 5 个 php 脚本的 bash-sctipt。每个 php 文件都被调用,但是在最后一个脚本上,我收到了这个警告:

mysql_query():提供的参数不是 xyz.php 中有效的 MySQL-Link 资源,位于 ABC 行

真正奇怪的是,如果我通过浏览器运行相同的脚本,脚本运行良好,没有任何警告。

这是我在 ABC 线附近的代码:

$sqlSTR="INSERT INTO accounts_cstm (id_c, mtk_categoriascompradas_c) VALUES ('". $arr[1] . "', '" . $arr[0] . "')
                    ON DUPLICATE KEY UPDATE mtk_categoriascompradas_c= concat(mtk_categoriascompradas_c, '^,^$arr[0]')";        

$ExecuteSQL = mysql_query ($sqlSTR, $DBConn) or
                die ($sqlSTR); //warning on this line - line ABC

我的 SQL 是完全有效的(如果我运行在“die”语句中输出的查询,它将完美运行),DBConn 已连接到数据库,并且所有其他脚本都运行良好,除了这个。

我真的不知道是什么导致了这个警告。欢迎任何帮助。

谢谢

4

4 回答 4

4

您的问题实际上在于您的数据库连接 ( $DBConn)。看看那个代码。插入一个 var_dump 并再次尝试 wgetting。

于 2009-05-13T14:21:25.980 回答
1

mysql_error()当您看到此错误消息时,请始终使用。然后你就会知道查询无效的确切原因。

于 2009-05-13T14:40:30.630 回答
0

您在查询中对 $arr[0] 的最后引用肯定看起来有问题 - 我认为它需要如下:

$sqlSTR="INSERT INTO accounts_cstm (id_c, mtk_categoriascompradas_c) VALUES ('". $arr[1] . "', '" . $arr[0] . "')
ON DUPLICATE KEY UPDATE mtk_categoriascompradas_c= concat(mtk_categoriascompradas_c, '^,^".$arr[0]."')";   
于 2009-05-13T14:21:23.547 回答
0

您使用 wget 调用的 URL 中是否有 & 符号?如果这样做,请确保您的 shell 没有将其解释为send process to background

于 2009-05-13T15:49:02.173 回答