大家好,這是我第一次發佈,認爲它會很好,因爲我完全卡住了。我的理解是,PHP中的switch和If/else語句沒有可變範圍。未定義的變量 - 做開關語句的範圍是PHP
我的問題是我有一個約5行值的CSV文件(示例一),我需要把它放到mySQL數據庫表中(列標題在我的「case」中代表我的switch語句)BUt無論如何,我解析CSV文件並檢查以確保數據在它應該是它的列,並將其存儲在一個變量。然後,我將所有變量存儲在一個正在序列化的數組中,然後傳遞到我的SQL查詢中。
我繼續得到錯誤 SCREAM:(!)忽略 注意屏蔽錯誤:未定義的變量:公司在C:\ WAMP \ WWW \ lcimport \ serialize.php上線98
但我知道這些變量在那裏,因爲我可以迴應他們,他們將被調用。但除非這些錯誤消失,我的查詢將不會運行,因此不填充我的數據庫表。
我做錯了什麼?
<?php
//define some constants
$db = 'lc';
mysql_connect('localhost', 'root', '');
mysql_select_db($db);
mysql_error();
$uid = md5(uniqid(time()));
//we only have this here to be a row counter
$row = 1;
if (($handle = fopen("C:\\wamp\\www\\lcimport\\4records.csv", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$num = count($data);
//var_dump($data);
// echo $data[0];
echo '';
if ($row === 1) {
$header = $data;
}
$row++;
for ($c=0; $c < $num; $c++) {
//echo $data[$c] . "<br />\n";
if ($row === 2) continue;
switch ($header[$c]){
case "Contact":
$contact = explode (" ", $data[$c]);
$firstName = $contact[0];
$lastName = $contact[1];
break;
case "Company":
$company = $data[$c];
case "Address1":
//store
$address1 = $data[$c];
break;
case "Address2":
$address2 = $data[$c];
break;
case "Address3":
$address3 = $data[$c];
break;
case "City":
$city = $data[$c];
break;
case "State":
$state = $data[$c];
break;
case "Zip":
$zip = $data[$c];
break;
case "Phone1":
$phone1 = $data[$c];
break;
case "Phone2":
$phone2 = $data[$c];
break;
case "Phone 3":
$phone3 = $data[$c];
break;
case "Fax":
$fax = $data[$c];
break;
case "Accountno":
$accountNo = $data[$c];
break;
default:
$junk = $data[$c];
break;
}
}
echo $company;
$meta = serialize(Array(
"firstname" => $firstName,
"lastname" => $lastName,
"lawfirmname" => $company,
'address' => $address1,
'city' => $city,
'state' => $state,
'zip' => $zip,
'fulladdress' => '',
'officenumber' => $phone1,
'faxnumber' => $fax,
'mobilenumber' => $phone2,
'email' =>'nothing',
'website' => 'somthing.com',
'privacy' => 0,
'status' =>1
));
mysql_query("INSERT INTO `mg_profiles` (meta) VALUES ($meta)");
mysql_error();
}
fclose($handle);
}
?>
我敢肯定,這有什麼用它做:'如果($行=== 2)繼續;' –