使用fgetcsv是我今天的一項全新功能。我習慣於處理mysql,因此sql server也是一種野獸。因此,我轉向你們!使用fgetcsv將數據添加到sql server中
我有下面的代碼,我相信做的一切,我需要,除了採取CSV,並把它變成一個SQL表。
你們可以幫助一些示例代碼,可以緩解這個問題嗎?
function connect() {
if (!function_exists('sqlsrv_num_rows')) { // Insure sqlsrv_1.1 is loaded.
die ('sqlsrv_1.1 is not available');
}
/*
* Log all Errors.
*/
sqlsrv_configure("WarningsReturnAsErrors", TRUE); // BE SURE TO NOT ERROR ON A WARNING
sqlsrv_configure("LogSubsystems", SQLSRV_LOG_SYSTEM_ALL);
sqlsrv_configure("LogSeverity", SQLSRV_LOG_SEVERITY_ALL);
$conn = sqlsrv_connect('instance', array
(
'UID' => 'userName',
'PWD' => 'password',
'Database' => 'database',
'CharacterSet' => 'UTF-8',
'MultipleActiveResultSets' => true,
'ConnectionPooling' => true,
'ReturnDatesAsStrings' => true,
));
if ($conn === FALSE) {
get_last_error();
}
return $conn;
}
function query($conn, $query) {
$result = sqlsrv_query($conn, $query);
if ($result === FALSE) {
get_last_error();
}
return $result;
}
function execute ($stmt) {
$result = sqlsrv_execute($stmt);
if ($result === FALSE) {
get_last_error();
}
return $result;
}
$conn = connect();
if (($handle = fopen(getcwd().'C:\path\TASKS.csv', "r")) !== FALSE) {
while (($data = fgetcsv($handle, 10000, ",")) !== FALSE) {
$db->execute("INSERT INTO Database..table (taskID, name, active) VALUES ('{$data[1]}','{$data[2]}','{$data[3]}')");
set_time_limit(60); // reset timer on loop
}
}
與上面的代碼我目前收到以下錯誤
未能打開流:無效的參數在C:\路徑\ insertDataFGet.php上線51 51
線是$ DB->執行CSV行
樣品
1,taskName1,1
2,taskName2,0
3,taskName3,0
你有什麼問題?顯示您嘗試的代碼,解釋它如何不起作用,並且有人會幫助您解決問題。 – Barmar