php mssql mysql集成错误

php mssql mysql集成错误,php,mysql,sql-server,Php,Mysql,Sql Server,你好-我有一个php脚本将数据从mssql导入mysq。 但得到一个错误:预期为[ 这是密码 收到错误。 语法错误,意外的“.”,在/var/www/integration/assetsim$中应为“]” //执行MS Sql语句并在数据上循环 $qt=mssql\U查询($query); 而($nt=mssql\U fetch\U数组($qt)) { //错误发生在这里!!!!!!!与回声!! 回音“$nt[SERNUM]”; 回声“”; } $myquery=将忽略插入x3assetim

你好-我有一个php脚本将数据从mssql导入mysq。 但得到一个错误:预期为[

这是密码 收到错误。 语法错误,意外的“.”,在/var/www/integration/assetsim$中应为“]”

//执行MS Sql语句并在数据上循环
$qt=mssql\U查询($query);
而($nt=mssql\U fetch\U数组($qt))
{ 
//错误发生在这里!!!!!!!与回声!!
回音“$nt[SERNUM]”;
回声“
”; } $myquery=将忽略插入x3assetimport(产品类别、库存站点、产品代码)值(“$nt[SERNUM]”、“$nt[STOFCY]”、“$nt[TCLCOD]”); mysql_query($myquery)或Die(“mysql查询失败”。mysql_error()); 回应“完成”;
查询应类似于-

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

还必须考虑转义。该错误是由于语法错误造成的。

FYI,
mysql.*
函数已被弃用。请改用
PDO
mysqli
。打印数组时切勿使用引号。它在某些情况下确实有效,但你永远不应该这样做。只需使用
echo$nt['SERNUM']您需要在某些点上修复代码。1.就像@iswinky所说的,
mysql\uu
函数不推荐使用,不要使用它们。2.就像@EduardLuca所说的,当你想要打印数组时,千万不要使用引号。3.使用正确的缩进,可以帮助您和其他人更轻松地阅读代码。4.您忘记了在
$myquery=
旁边有一个双引号。5.尝试读取关联数组的值时,使用字符串作为常量。关联数组的键只是字符串。编写
$nt['SERNUM']
而不是
$nt[SERNUM]
。我建议您阅读更多关于编码的内容。查询也应该有,因为以这种方式编写查询是非常危险的。是的,应该是。。我只是指出语法错误。谢谢大家都会尝试,有趣的是,这在我的测试服务器中工作,但在生产中没有?我收到通知:未定义索引:sernum。我正在执行mssql$query中的select语句=“从PILOT.STOFCY\u 0、a.ITMREF\u 0、I.ITMDES1\u 0、a.LASRCPDAT\u 0、a.QTYSTU\u 0、a.CREDAT\u 0、a.CREUSR\u 0、a.UPDDAT\u 0、a.UPDUSR\u 0从PILOFT.STOCK a LEFT JOIN PILOFT PILOT加入PILOT.ITMMASTER I在a.ITMREF\u 0=I.ITMREF\u 0上”$mydbconn=mysql\u connect($mydbserver、$mydbuser、$mydbpass);mysql_选择_db($mydbname,$mydbconn)或die(“无法打开mysql数据库”);$qt=mssql\U查询($query);而($nt=mssql_fetch_数组($qt)){echo$nt['I.TCLCOD_0'];echo“
”;}
$myquery = 'INSERT ignore INTO x3assetimport(PRODUCT_CATEGORY, STOCK_SITE, PRODUCT_CODE)     VALUES("'.$nt[SERNUM].'", "'.$nt[STOFCY].'","'.$nt[TCLCOD].'")';