2015-11-21 71 views
1

以下工作在PHP中。我看到我的'加載成功'回聲。LOAD XML LOCAL INFILE:REPLACE子句在phpMyAdmin中工作,但不是來自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提交:

​​

爲什麼下面沒有在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

爲了解決這個問題,我嘗試先刪除PHP表中的所有內容,然後再加載數據,而不使用replace子句。

問題解決。我試圖執行此操作的數據庫用戶沒有刪除權限。

REPLACE需要DELETE權限。

相關問題