php mssql mysql集成错误
你好-我有一个php脚本将数据从mssql导入mysq。 但得到一个错误:预期为[ 这是密码 收到错误。 语法错误,意外的“.”,在/var/www/integration/assetsim$中应为“]”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
//执行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].'")';