0

首先,我很抱歉我的英语不好,并感谢大家查看我的建议。

我想同步两个 Mysql,但我无法让它与 blob 类型一起使用。

两个连接的用户名和密码相同。

$conn = mysqli_connect(DB_HOST, DB_USER, DB_PASS) or die();
mysqli_select_db($conn, DB_NAME) or die();
mysqli_set_charset($conn, 'utf8') or die();

// db connection string variables
$connEco = mysqli_connect("192.168.20.2", DB_USER, DB_PASS) or die();
mysqli_select_db($connEco, DB_NAME) or die();
mysqli_set_charset($connEco, 'utf8') or die();
$sql="DROP TABLE IF EXISTS users_in_fmd";
$rs = mysqli_query($connEco, $sql)
or die(mysqli_error($connEco));

$sql="CREATE TABLE IF NOT EXISTS `users_in_fmd` ( `UsersInFmd` int(10) NOT NULL AUTO_INCREMENT, `SucursalId` int(10) NOT NULL, `UserId` int(10) NOT NULL, `FMD` mediumblob, `FingerIndex` int(2) NOT NULL, PRIMARY KEY (`UsersInFmd`), KEY `UserId` (`UserId`)) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=0";

$rs = mysqli_query($connEco, $sql)
or die("Error 1");

$sql="SELECT UsersInFmd, SucursalId, UserId, FMD, FingerIndex FROM users_in_fmd";
$rs = mysqli_query($conn, $sql)
or die("Error 2");

while($row = mysqli_fetch_array($rs))
{
    //The row['FMD'] is the data.
    $sql3 = "INSERT INTO users_in_fmd (`UsersInFmd`, `SucursalId`, `UserId`, `FMD`, `FingerIndex`) VALUES ('".$row['UsersInFmd']."', '".$row['SucursalId']."', '".$row['UserId']."', '".$row['FMD']."', '".$row['FingerIndex']."')";
    $updateregistro = mysqli_query($connEco,$sql3) or die("Error 3");
}

我尝试从 mysql 获取 HEX() 中的 FMD 数据,插入时尝试使用 UNHEX(),但结果都是一样的,我无法将 blob 数据导入 MySql 数据库。

有任何想法吗 ?

4

1 回答 1

0

尝试准备好的语句,而不是像那样手动构建查询。

您收到的错误表明该 blob 需要正确转义。

于 2016-08-10T20:15:22.803 回答