#php #mysql
#php #mysql
Вопрос:
таблица: taxonomy_index
nid tid
2 1
3 1
3 4
3 5
4 6
4 1
4 3
4 7
таблица: taxonomy_term_data
tid vid name
1 2 java
2 2 php
3 2 c
4 1 tag1
5 1 tag2
6 1 tag3
7 1 tag4
8 1 tag5
теперь я хочу в соответствии с nid=$nid
получить name
где vid=2
.? как мне поступить?
ниже приведен мой код запроса. но это неправильно.
$result = mysql_query('select tid,name form taxonomy_index as ti left join taxonomy_term_data as ttd on ti.tid=ttd.tid where vid=2 and nid=$nid')
Комментарии:
1. я поместил код в phpmyadmin, он показывает, что у вас ошибка в синтаксисе sql
2. sql выглядит хорошо, смотрите Ответ @GWW, я также меняю «select tid, name» на «select ti.tid,name»
Ответ №1:
Я предполагаю, что вам нужно заменить одинарные кавычки '
на двойные "
. Это потому, что PHP не разворачивает переменные, заключенные в одинарные кавычки.
$result = mysql_query("select tid,name from taxonomy_index as ti left join taxonomy_term_data as ttd on ti.tid=ttd.tid where vid=2 and nid=$nid")
Редактировать:
У вас также есть from
ошибка в написании как form
Комментарии:
1. выберите tid, назовите форму taxonomy_index как ti, слева присоедините taxonomy_term_data как ttd в ti.tid=ttd.tid, где vid = 2 и nid = 2 , я поместил это в поле запуска sql phpmyadmin, оно показывает ошибку sql # 1064. почему?
2. Я только что сказал вам, почему вы
from
написали с ошибкой какform
3. прошу прощения. я слишком небрежно
Ответ №2:
Я думаю, что переменные в однострочных кавычках не заменяются, поэтому попробуйте
$result = mysql_query('select tid,name from taxonomy_index as ti left join taxonomy_term_data as ttd on ti.tid=ttd.tid where vid=2 and nid='.$nid)
Комментарии:
1. я поместил этот код в phpmyadmin, он показывает синтаксическую ошибку sql. почему?
2. выберите tid, назовите форму taxonomy_index как ti слева, соедините taxonomy_term_data как ttd на ti.tid=ttd.tid где vid=2 и nid=2
3. @zhuanzhou: проверьте мой ответ, который у вас есть, из формы с ошибкой as.