У меня есть хранимая процедура IsUserPresent нравится:PHP MySQLi подготовил заявление для хранимой процедуры с параметром из
DELIMITER $$
CREATE PROCEDURE IsUserPresent(
in userid varchar (150),
out isPresent bit
)
BEGIN
SET isPresent=0;
SELECT COUNT(*)
INTO isPresent
FROM users_table
WHERE users_table.userid=userid;
END$$
, и я хочу, чтобы вызвать из PHP с помощью Mysqli подготовленного заявления. Я делаю это после фрагмента кода, но это дает мне предупреждение.
$connect=&ConnectDB();
$stmt=$connect->prepare("CALL IsUserPresent(?,?)");
$stmt->bind_param('si',$uid,$userCount);
$stmt->execute();
$toRet = $userCount!=0;
Disconnect($connect);
return $toRet;
предупреждение является следующим:
Premature end of data (mysqlnd_wireprotocol.c:1112)
Warning: mysqli_stmt::execute(): RSET_HEADER packet 1 bytes shorter than expected
Warning: mysqli_stmt::execute(): Error reading result set's header
Что делается выше Заявление помещено в p_isPresent. Я не думаю, что мы можем использовать результат, возвращенный вложенным запросом снаружи. Спасибо за совет. – Talha5389
'exists()' возвращает 0 или 1 (true или false). И подзапрос не является проблемой, так как вы помещаете результат в переменную. – fancyPants