У меня есть несколько процедур на этом компьютере, и это единственный запрос, который дает мне логическое значение (по крайней мере, я думаю, что это логическое значение) в моем PHP-коде. Когда я заменяю эту процедуру на другую, это значение исчезает. Есть ли проблема с этим кодом, как у меня?
CREATE DEFINER=`root`@`%` PROCEDURE `phoneIsRegistered`
(IN iPhone bigint(10), OUT oPhone bigint(10))
BEGIN
SELECT
phone
FROM
user
WHERE
phone = iPhone
INTO
oPhone;
END;
Вот как выглядит массив с этим значением, о котором я говорю.
mysqli_result Object
(
[current_field] => 0
[field_count] => 2
[lengths] =>
[num_rows] => 110
[type] => 0
)
mysqli_result Object
(
[current_field] => 0
[field_count] => 1
[lengths] =>
[num_rows] => 12
[type] => 0
)
1 <-------------------------------------HERE
mysqli_result Object
(
[current_field] => 0
[field_count] => 1
[lengths] =>
[num_rows] => 1
[type] => 0
)
Прежде всего, есть синтаксическая ошибка, в которой вы используете ';' как для внутреннего запроса, так и для процедуры создания. Вам нужно "DELIMITER = '//';" перед процедурой, а затем используйте "END//". Но все равно используйте ';' по внутреннему запросу.
DELIMITER '//'
CREATE PROCEDURE...
..
END//
DELIMITER ';'