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

发布于 2024-07-20 05:38:27 字数 789 浏览 7 评论 0原文

我有一个 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 连接到数据库,所有其他脚本都运行良好,除了这个脚本。

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

谢谢

I have a bash-sctipt running 5 php scripts via wget.
Every php file is called but, on the last script, I get this warning:

mysql_query(): supplied argument is
not a valid MySQL-Link resource in
xyz.php, on line ABC

What it is really strange is, if I run the same script via browser, the script runs fine, without any warning.

This is my code near line 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

My SQL is totally valid (if I run the query that is outputed in the "die" statement it runs perfectly), the DBConn is connected to the database and all other scripts run fine, except this one.

I really don't know what is causing this Warning.
Any help will be welcome.

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

┾廆蒐ゝ 2024-07-27 05:38:27

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

Your problem actually lies with your database connection ($DBConn). Take a look at that code. Stick a var_dump in and try wgetting again.

水波映月 2024-07-27 05:38:27

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

Always use mysql_error() when you see this error message. Then you`ll know the exact reason, why the query was invalid.

酒解孤独 2024-07-27 05:38:27

您在查询中最后一次引用 $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]."')";   

Something definitely looks wrong with your last reference to $arr[0] in the query - I think it needs to be the following:

$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]."')";   
花期渐远 2024-07-27 05:38:27

您使用 wget 调用的 URL 中是否有 & 符号? 如果这样做,请确保您的 shell 不会将其解释为将进程发送到后台

Does the URL you are calling with wget have an ampersand in it? If you do, make sure your shell isn't interpreting it as a send process to background

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文