我有一个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连接到数据库,所有其他脚本运行正常,除了这个。
我真的不知道造成这个警告的原因。 欢迎任何帮助。
由于
答案 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