Импортируйте файл Excel / CSV в phpmyadmin с помощью php

== проверяет ссылки на объекты, .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"));
0
задан georgeawg 10 March 2019 в 22:52
поделиться

2 ответа

Ошибка в строке

$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') ";

. Это решит вашу проблему.

0
ответ дан Ajanyan Pradeep 10 March 2019 в 22:52
поделиться

Поскольку вы используете файлы .csv, вы можете сказать PHP, что ваш разделитель - точка с запятой.

<?php 

while (($data = fgetcsv($handle, 1000, ";")) !== FALSE) 

?>

Для поиска каждого значения вашего файла вы можете использовать следующую стратегию:

[ 1111]
<?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);
}

?>

0
ответ дан 10 March 2019 в 22:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: