#php #sql #wordpress
#php #sql #wordpress
Вопрос:
здравствуйте, я пытаюсь выполнить запрос выбора из нескольких таблиц, и я создал переменные для имен таблиц, и это сработает, если я удалю переменные и вместо них добавлю имена таблиц, что делать?
$table_name = $wpdb->prefix . 'student_list';
$table_name1 = $wpdb->prefix . 'courses';
$table_name2 = $wpdb->prefix . 'registration';
$registrations = $wpdb->get_results("SELECT registration_id , $table_name1.course_id ,$table_name.student_id ,$table_name1.name, $table_name1.course_name ,$table_name1.course_code FROM $table_name ,$table_name1, $table_name2 WHERE $table_name2.course_id = $table_name1.course_id and $table_name2.student_id = $table_name.student_id");
Комментарии:
1. Возможно, попробуйте без префикса. просто
$table_name = 'student_list';
2. мне нужно добавить его, поэтому, если пользователь WordPress использовал префикс wp, он добавит префикс, работающий в других местах
3. Хорошо … но префикс используется только в имени базы данных, а не в самих таблицах, или я ошибаюсь? Не могли бы вы отредактировать свой вопрос и показать рабочий пример без переменных, пожалуйста?
4. $registrations = $wpdb->get_results(«ВЫБЕРИТЕ registration_id , courses.course_id ,wp_student_list.student_id ,wp_student_list.name , courses.course_name , courses.course_code ИЗ
registration
,courses
,wp_student_list
ГДЕ registration.course_id = courses.course_id и registration.student_id = wp_student_list.student_id»);5. Видите ли, вы не используете префикс -> вот почему это работает 😉