權所有存在的MySQL的數據這是我的代碼我有一個upload.php的,這是工作的罰款,但我必須補充丟失我的表中的數據通過上傳CSV文件,但它不工作,只要我上傳CSV它自動生成新的ID並保存它,但我的問題是例如,如果我有一個表格ID號是12現在我必須插入電話號碼,該字段有所有信息除了手機沒有,那麼我該怎麼辦我可以上傳一個CSV文件,可以通過以上相同的ID。隨着PHP
ID名稱電子郵件電話 12 XYS [email protected]
現在通過CSV我必須只能上傳手機內無
<?php
require_once('../web.config.php'); require_once(ROOT_PATH.'global.php');
require_once('function.php');
?>
<!DOCTYPE html>
<title>Home</title>
</head><body>
<div id="control_box" class="indexWrap">
<div id="container">
<div id="form">
<?php
define('DB_SERVER', 'localhost');
define('DB_USER', 'root');
define('DB_PASSWORD', '');
define('DB_NAME', 'upcsv');
@$conn = mysql_connect (DB_SERVER, DB_USER, DB_PASSWORD);
mysql_select_db (DB_NAME,$conn);
mysql_set_charset('UTF8', $conn) or die(mysql_error());
if(!$conn){
die("Sorry! There seems to be a problem connecting to our database.");
}
function get_file_extension($file_name) {
return end(explode('.',$file_name));
}
function errors($error){
if (!empty($error))
{
$i = 0;
while ($i < count($error)){
$showError.= '<div class="msg-error">'.$error[$i].'</div>';
$i ++;}
return $showError;
}// close if empty errors
} // close function
if (isset($_POST['upfile'])){
// check feilds are not empty
if(get_file_extension($_FILES["uploaded"]["name"])!= 'csv')
{
$error[] = 'Only CSV files accepted!';
}
if (!$error){
$tot = 0;
$handle = fopen($_FILES["uploaded"]["tmp_name"], "r");
fgets($handle);
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
for ($c=0; $c < 1; $c++) {
//only run if the first column if not equal to id
if($data[0] !='id'){
mysql_query("INSERT INTO tabledb(
`id`,
`name`,
`email`,
`phone`
)VALUES(
'" . mysql_real_escape_string($data[0 ])."',
'" . mysql_real_escape_string($data[1 ])."',
'" . mysql_real_escape_string($data[2 ])."',
'" . mysql_real_escape_string($data[3 ])."'
)")or die(mysql_error());
}
$tot++;}
}
fclose($handle);
$content.= "<div class='success' id='message'> CSV File Imported, $tot records added </div>";
}// end no error
}//close if isset upfile
$er = errors($error);
$content.= <<<EOF
<h3>Import CSV Data</h3>
$er
<form enctype="multipart/form-data" action="" method="post">
File:<input name="uploaded" type="file" maxlength="20" /><input type="submit" name="upfile" value="Upload File">
</form>
EOF;
echo $content;
?>
</div>
</div>
</div>
<!-- END TEMPORARY CONTENT -->
</body>
</html>
您可以使用「插入」,這始終會創建一個新的行。如果你不想改變現有的行,使用「更新」。 – Seb
但CSV也將有新的數據量太大,即插入,爲此,我們需要創建一個新的ID,並提交該數據也 – user3283373
這是確定。你必須弄清楚數據是否存在 - >更新或者它是否是新的 - >插入。或者你可以嘗試「插入重複鍵更新」-mysql語法。 – Seb