2017-04-26 60 views
1

我想从一个数据库(MSSQL)导入数据到另一个数据库(MySQL) 代码低音已为我工作过,但现在我遇到了问题。 这里是我的代码:并非所有使用PHP导入数据从MSSQL导入数据到MySQL

<?php 
$country = "LV"; 
$DBServer="localhost"; 
$DBUser="root"; 
$DBPass="root"; 
$DBName="inventory"; 
$conn2 = new mysqli($DBServer, $DBUser, $DBPass, $DBName); 

$query = 'TRUNCATE TABLE Items'; 
$result=$conn2->query($query); 


mysqli_set_charset($conn2,"utf8"); 
$connectorpol = new NavisionExtractorPol(); 
$country = "POL"; 
$mssqlres = $connectorpol->getQueryResults('SELECT sbcode, bcode, descr FROM [dbo].[L_Items]'); 
var_dump($mssqlres); 
while ($row = mssql_fetch_array($mssqlres)) { 
$query1 = "INSERT INTO Items(sbcode, bcode, descr, country) VALUES ('" . $row["sbcode"] . "', '" . 
    $row["bcode"] . "', '" . 
    $row["descr"] . "', '" . $country . "')"; 

$result2=$conn2->query($query1); 
if(!$result2){ 
    echo $result2->error; 
    } 
} 

的问题是,不是从MSSQL的所有行都是进口的,从7820仅7802都是进口的。任何想法为什么?

+0

有没有具体的错误? –

+0

不!那就是问题所在。没有错误。我已经测试了它遍历所有7820行,但是插入的行数更低。 – HellOfACode

+0

你有'error_reporting(E_ALL); ini_set('display_errors',1);'在你的脚本上? –

回答

0

问题是我没有注意到我插入的行中的符号。 查询中包含'符号,并通过这样做搞砸了查询,它使它不可执行。