以下适用于PHP。我看到我的'加载成功'回声。
$sql = "
LOAD XML LOCAL INFILE 'test.xml'
INTO TABLE test
ROWS IDENTIFIED BY '<row>'
";
if (mysqli_query($dbc, $sql)) {
echo "Load Successful";
} else {
echo "Load Error";
}
如果我在phpMyAdmin GUI中提交它,那么下一步是有效的:
LOAD XML LOCAL INFILE 'test.xml'
REPLACE
INTO TABLE test
ROWS IDENTIFIED BY '<row>'
为什么以下不适用于PHP?我正在收到“加载错误”回声。
$sql = "
LOAD XML LOCAL INFILE 'test.xml'
REPLACE
INTO TABLE test
ROWS IDENTIFIED BY '<row>'
";
if (mysqli_query($dbc, $sql)) {
echo "Load Successful";
} else {
echo "Load Error";
}
非常困惑。显然缺少一些简单的东西。任何指针都将非常感激。苦苦挣扎着调试。
答案 0 :(得分:0)
为了解决这个问题,我尝试在加载数据之前先删除PHP中的所有内容,而不使用replace子句。
问题解决了。我试图执行此操作的数据库用户没有删除权限。
REPLACE需要DELETE权限。