Я нахожусь в процессе обновления всего своего кода для использования PHP 7. Я пытаюсь заставить этот код PDO работать. Этот код вставляет только полностью отсутствующие строки. Он не обновляет отдельные столбцы. Поэтому, если в столбце одного человека есть данные для обновления, они не обновляются. Но если я полностью удалю строку, она снова вставит эту строку. Как сделать так, чтобы он обновлял отдельные фрагменты данных.
<?php
$databasehost = "myHOST";
$databasename = "myDATABASEname";
$databasetable = "databseTABLE";
$databaseusername="USERname";
$databasepassword = "PASSWORD";
$fieldseparator = "@@@@";
$lineseparator = "$$$$";
$csvfile = "/fileLOCATION/LOCATION/CSVfile.csv";
if(!file_exists($csvfile))
{
die("File not found. Make sure you specified the correct path.");
}
try
{
$pdo = new PDO(
"mysql:host=$databasehost;dbname=$databasename",
$databaseusername,
$databasepassword,
array
(
PDO::MYSQL_ATTR_LOCAL_INFILE => true,
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
)
);
}
catch (PDOException $e)
{
die("database connection failed: ".$e->getMessage());
}
$affectedRows = $pdo->exec
(
"LOAD DATA LOCAL INFILE "
.$pdo->quote($csvfile)
." INTO TABLE `$databasetable` FIELDS TERMINATED BY "
.$pdo->quote($fieldseparator)
."LINES TERMINATED BY "
.$pdo->quote($lineseparator)
);
echo "Loaded a total of $affectedRows records from this csv file.\n";
?>
Я пытался сделать это, но он перестает обновлять все без ошибок. Он просто говорит, что загружено 0 строк.
$columns = "('ColunmName01','ColunmName02',ColunmName03,ColunmName04,ColunmName05,ColunmName06)";
.$pdo->quote($columns)
Я просмотрел десятки сообщений и попробовал различный код. Кажется, я пока не могу заставить работать код PDO в PHP. Мы будем очень признательны за любые советы.