==
проверяет ссылки на объекты, .equals()
проверяет строковые значения.
Иногда кажется, что ==
сравнивает значения, потому что Java делает некоторые закулисные вещи, чтобы убедиться, что одинаковые строки в строке являются одним и тем же объектом.
Для Например:
String fooString1 = new String("foo");
String fooString2 = new String("foo");
// Evaluates to false
fooString1 == fooString2;
// Evaluates to true
fooString1.equals(fooString2);
// Evaluates to true, because Java uses the same object
"bar" == "bar";
Но будьте осторожны с нулями!
==
обрабатывает строки null
в порядке, но вызов .equals()
из пустой строки приведет к исключению:
String nullString1 = null;
String nullString2 = null;
// Evaluates to true
System.out.print(nullString1 == nullString2);
// Throws a NullPointerException
System.out.print(nullString1.equals(nullString2));
Итак, если вы знаете, что fooString1
может но не менее очевидно, что он проверяет значение null (из Java 7):
System.out.print(Objects.equals(fooString1, "bar"));
Ошибка в строке
$query = "INSERT INTO `student`(`student_id`, `student_login`, `student_password`, `student_first_name`, `student_last_name`, `student_phone_number`, `student_gender`, `original_back_school`, `original_end_time`, `original_class`, `class_Halom`, `parent_id`, `teacher_id`) VALUES ($student_id, '$student_login','$student_password','$student_first_name','$student_last_name', '$student_phone_number','$student_gender','$original_back_school',' $original_end_time','$original_class','$class_Halom','$parent_id','$teacher_id') ";
$student_id
не записана в ' '
. Это должно быть похоже на '$student_id'
. Фактический код будет
$query = "INSERT INTO `student`(`student_id`, `student_login`, `student_password`, `student_first_name`, `student_last_name`, `student_phone_number`, `student_gender`, `original_back_school`, `original_end_time`, `original_class`, `class_Halom`, `parent_id`, `teacher_id`) VALUES ('$student_id', '$student_login','$student_password','$student_first_name','$student_last_name', '$student_phone_number','$student_gender','$original_back_school',' $original_end_time','$original_class','$class_Halom','$parent_id','$teacher_id') ";
. Это решит вашу проблему.
Поскольку вы используете файлы .csv, вы можете сказать PHP, что ваш разделитель - точка с запятой.
<?php
while (($data = fgetcsv($handle, 1000, ";")) !== FALSE)
?>
Для поиска каждого значения вашего файла вы можете использовать следующую стратегию:
<?php
$row = 0;
if (($handle = fopen("c:\\temp\\test.csv", "r")) !== FALSE)
{
//Searching line by line of the file
while (($data = fgetcsv($handle, 1000, ";")) !== FALSE)
{
$num = count($data);
$row++;
//Searching column by column of the current line
for ($col = 0; $col < $num; $col++)
{
//Here you can use the desired values
switch ($col) {
case 0:
$student_id = mysqli_real_escape_string($connect,$data[$col]);
break;
case 1:
$student_login = mysqli_real_escape_string($connect,$data[$col]);
break;
case 2:
$student_password = mysqli_real_escape_string($connect,$data[$col]);
break;
case 3:
$student_first_name = mysqli_real_escape_string($connect,$data[$col]);
break;
case 4:
$student_last_name = mysqli_real_escape_string($connect,$data[$col]);
break;
case 5:
$student_phone_number = mysqli_real_escape_string($connect,$data[$col]);
break;
case 6:
$student_gender = mysqli_real_escape_string($connect,$data[$col]);
break;
case 7:
$original_back_school = mysqli_real_escape_string($connect,$data[$col]);
break;
case 8:
$original_end_time = mysqli_real_escape_string($connect,$data[$col]);
break;
case 9:
$original_class = mysqli_real_escape_string($connect,$data[$col]);
break;
case 10:
$class_Halom = mysqli_real_escape_string($connect,$data[$col]);
break;
case 11:
$parent_id = mysqli_real_escape_string($connect,$data[$col]);
break;
case 12:
$teacher_id = mysqli_real_escape_string($connect,$data[$col]);
break;
}//end switch
}//endfor (columns of each line)
//If your file has a header and you wish to skip it, you can do something like this:
//if ($row > 1) { //create your query and execute it... }
$query = "INSERT INTO `student`(`student_id`, `student_login`, `student_password`, `student_first_name`, `student_last_name`, `student_phone_number`, `student_gender`, `original_back_school`, `original_end_time`, `original_class`, `class_Halom`, `parent_id`,`teacher_id`) VALUES ";
$query.= "($student_id, '$student_login','$student_password','$student_first_name','$student_last_name','$student_phone_number','$student_gender','$original_back_school','$original_end_time','$original_class','$class_Halom', $parent_id, $teacher_id) ";
mysqli_query($connect, $query);
//}
}
fclose($handle);
}
?>