проблема с подзапросом (mysqli) - PullRequest
0 голосов
/ 09 июня 2011

Я пытаюсь использовать этот запрос, но я получаю эту ошибку:

Предупреждение : mysqli_stmt :: bind_result () [mysqli-stmt.bind-result]: количество переменных связывания не соответствует числу полей в подготовленном выражении

Я думаю, что проблема в подзапросе, потому что, если я использую только:

SELECT id_location_home FROM location_home WHERE location_home.location = ?

Ошибка исчезает.

Задача

($sql = $db -> prepare("
                UPDATE `database_charts`.`single_user` 
                SET `location_home_id_location_home` = (
                SELECT id_location_home FROM location_home 
                WHERE location_home.location = ?)"
            ));
            $sql -> bind_param('s', $location); // error here

            $sql -> execute();

Как я могу решить это? Возможно ли изменить этот запрос на объединение? возможно, решит проблему.

1 Ответ

0 голосов
/ 09 июня 2011

Вы пробовали это?

UPDATE `database_charts`.`single_user` 
SET `location_home_id_location_home` = location_home.id_location_home
FROM location_home 
WHERE location_home.location = ?

Кроме того, ваш запрос кажется подозрительным.Вы действительно хотите обновить каждую строку в single_user?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...