php mssql mysql整合错误

问题描述:

美好的一天 - 我有一个php脚本将数据从mssql导入到mysq。 但是,得到一个错误:预期a [php mssql mysql整合错误

这里是代码 错误收到。 “语法错误,意外的在/ var/WWW /集成/ assetsim $,期待 ']' ''。”

// Execute the MS-Sql stament and loop over the data 
    $qt=mssql_query($query); 
    while($nt=mssql_fetch_array($qt)) 
    { 

    // error occurs here!!!!!!!! with echo!! 

    echo "$nt[SERNUM]"; 
    echo "<br>"; 


    } 

    $myquery = INSERT ignore INTO x3assetimport(PRODUCT_CATEGORY, STOCK_SITE, PRODUCT_CODE)  VALUES('".$nt[SERNUM]."', '".$nt[STOFCY]."','".$nt[TCLCOD]."'); 
    mysql_query($myquery) or Die("MySQL Query Failed " . mysql_error()); 

    echo "done"; 
+1

仅供参考,'mysql_ *'函数已弃用。改用“PDO”或“mysqli”。 – iswinky 2014-09-05 08:42:53

+0

**当你想打印数组时,从不**使用引号。它在某些情况下可以工作,但是你不应该这样做。只需使用'echo $ nt ['SERNUM'];' – 2014-09-05 09:00:31

+1

您需要在某些点上修复您的代码。 ** 1。**像@iswinky说的那样,'mysql_'函数已被弃用,请勿使用它们。 ** 2。**就像@EduardLuca所说的,当你想打印数组时,从不使用引号。 ** 3。**使用正确的缩进,它可以帮助您和其他人更轻松地读取您的代码。 ** 4。**您忘记了'$ myquery ='旁边的双引号。 ** 5。**当您尝试读取关联数组的值时,您正在使用字符串作为常量。关联数组的键只是字符串。写'$ nt ['SERNUM']'而不是'$ nt [SERNUM]'。我建议你阅读更多关于编码的内容。 – 2014-09-05 09:23:54

查询应该是这样的 -

$myquery = 'INSERT ignore INTO x3assetimport(PRODUCT_CATEGORY, STOCK_SITE, PRODUCT_CODE)  VALUES("'.$nt[SERNUM].'", "'.$nt[STOFCY].'","'.$nt[TCLCOD].'")'; 

还逃逸必须考虑错误来自语法错误。

+1

该查询还应该有[正确转义](http://bobby-tables.com/php),因为用这种方式编写查询是非常危险的。 – tadman 2014-09-05 08:51:23

+0

是的,应该是..我只是指出了语法错误。 – 2014-09-05 08:53:03

+0

感谢所有人都会尝试它,有趣的是,这是在我的测试服务器bur不工作的作品? – 2014-09-05 11:41:22