[英]PHP while loop not working
我不明白為什么插入第一行數據后我的while循環停止。 請幫忙。 我正在嘗試在MySql表中上載.csv文件-如果數據已經存在,請跳過並轉到第二行。
<?php
$dbhost = "xxxx";
$dbname = "xxxx";
$dbuser = "xxxx";
$dbpass = "xxxx";
mysql_connect ( $dbhost, $dbuser, $dbpass)or die("Could not connect: ".mysql_error());
mysql_select_db($dbname) or die(mysql_error());
fgetcsv_PHP();
function fgetcsv_PHP()
{
if (($handle = fopen("events.csv", "r")) !== FALSE)
{
$length = 1000;
$delimiter = ",";
while ( ( $data = fgetcsv( $handle) ) !== FALSE )
{
// Count number of array elements in $data
$num = count($data);
// Print opening table row HTML tag
$data[5]= strtolower($data[5]);
$data[11]= "2012-06-22 10:30:40";
$import="INSERT into candidatedb(event,rec,title,name,surname,email,phone,discip,exper,wheread,comment,stamp) values('$data[0]','$data[1]','$data[2]','$data[3]','$data[4]','$data[5]','$data[6]','$data[7]','$data[8]','$data[9]','$data[10]','$data[11]')";
$result = mysql_query("SELECT * from candidatedb WHERE email = '$data[5]' AND surname = '$data[4]'");
$num_rows = mysql_num_rows ($result);
echo $num_rows;
if ($num_rows > 0) {
echo "Email address: $data[5] already exist </br>";
}
else {
mysql_query($import) or die(mysql_error());
echo "Done! $data[5] inserted<br/>";
}
}
// Close the file pointed to by $handle
fclose($handle);
}
}
"Done!<br/> $num record uploaded"
?>
<?php /*?>
$import="INSERT into candidatedb(event,rec,title,name,surname,email,phone,discip,exper,wheread,comment,stamp) values('$data[0]','$data[1]','$data[2]','$data[3]','$data[4]','$data[5]','$data[6]','$data[7]','$data[8]','$data[9]','$data[10]','$data[11]')";
mysql_query($import) or die(mysql_error());
<?php */?>
如果嘗試使用此命令進行調試,輸出結果如何:
fgetcsv_PHP();
function fgetcsv_PHP() {
$length = 1000;
$delimiter = ",";
if (($handle = fopen("events.csv", "r")) !== FALSE) {
while (($data = fgetcsv($handle, $length, $delimiter)) !== FALSE)
{
echo "read line: ".implode($data, ';')." <br>\n";
}
fclose($handle);
}
}
好的,我發現了問題。 它不是.csv文件的代碼。 由於某些原因,PHP函數無法正確解碼Mac版Excel的.csv版本“逗號分隔值”。 但是,如果將.csv導出為“ Windows逗號分隔(.csv)”,則它就像一個超級按鈕一樣起作用。
謝謝你的幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.