2015-08-07 5 views
1

Я пытаюсь обновить некоторые значения в базе данных, основная таблица, где я получаю значение для обновления имеет такую ​​структуру:LIKE оператора не работает должным образом

http://api.football-data.org/alpha/soccerseasons/403/leagueTable так в запросе обновления я выполнить это заявление:

UPDATE leaguetable SET matchDay = ?, position = ?, teamName = ?, 
playedGames = ?, points = ?, goals = ?, goalsAgainst = ?, 
goalDifference = ?, self = ?, soccerSeason = ?, team = ? WHERE 
self LIKE 'http://api.football-data.org/alpha/soccerseasons/403/leagueTable'" 

этот запрос является правильным, но когда я пытаюсь его в консоли PhpMyAdmin она возвращает 0 rows, поскольку значение self имеет такую ​​структуру:

http://api.football-data.org/alpha/soccerseasons/403/leagueTable/?matchday=2 

Что я делаю неправильно в подобном атрибуте?

Примечание: Я передать значение http://api.football-data.org/alpha/soccerseasons/403/leagueTable в переменном с именем $x, в посте ссылка является только примером для показа расположения ссылки.

ответ

1

Вам необходимо включить символ подстановки % для его работы.

Подробнее об этом здесь MSDN LIKE

Конкретно о подстановочных знаках %

'http://api.football-data.org/alpha/soccerseasons/403/leagueTable%' находит начало всех URL-адрес с учетом, в том числе желаемого /?matchday=2.

В коде:

UPDATE leaguetable 
SET matchDay = ?, position = ?, teamName = ?, playedGames = ?, points = ?, goals = ?, goalsAgainst = ?, goalDifference = ?, self = ?, soccerSeason = ?, team = ?  
WHERE self LIKE 'http://api.football-data.org/alpha/soccerseasons/403/leagueTable%' 
4

попробовать с% (подстановочные) после него:

UPDATE leaguetable SET matchDay = ?, position = ?, teamName = ?, 
     playedGames = ?, points = ?, goals = ?, goalsAgainst = ?, 
     goalDifference = ?, self = ?, soccerSeason = ?, team = ? WHERE self  LIKE 'http://api.football-data.org/alpha/soccerseasons/403/leagueTable%' 
0

Вы должны использовать подстановочные знаки, чтобы получить выход

UPDATE leaguetable SET matchDay = ?, position = ?, teamName = ?, 
playedGames = ?, points = ?, goals = ?, goalsAgainst = ?, 
goalDifference = ?, self = ?, soccerSeason = ?, team = ? WHERE self LIKE 'http://api.football-data.org/alpha/soccerseasons/403/leagueTable%'"