PHP 脚本在浏览器上运行,但不使用 wget
我有一个 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您的问题实际上在于您的数据库连接(
$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.当您看到此错误消息时,请始终使用
mysql_error()
。 然后您就会知道查询无效的确切原因。Always use
mysql_error()
when you see this error message. Then you`ll know the exact reason, why the query was invalid.您在查询中最后一次引用 $arr[0] 看起来肯定有问题 - 我认为它需要如下:
Something definitely looks wrong with your last reference to $arr[0] in the query - I think it needs to be the following:
您使用 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