PHP脚本在浏览器上运行,但不在wget上运行

时间:2009-05-13 14:17:46

标签: php browser wget debian-based

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

  

mysql_query():提供的参数是   不是有效的MySQL-Link资源   xyz.php,在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 个答案:

答案 0 :(得分:4)

您的问题实际上在于您的数据库连接($DBConn)。看看那段代码。坚持使用var_dump并再次尝试wgetting。

答案 1 :(得分:1)

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

答案 2 :(得分: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]."')";   

答案 3 :(得分:0)

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