PHP mysqli prepared statement for stored procedure with out parameter

Talha5389

I have a stored procedure IsUserPresent like:

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$$

and I want to call it from PHP using mysqli prepared statement. I am doing it following code snippet but it gives me warning.

$connect=&ConnectDB();
$stmt=$connect->prepare("CALL IsUserPresent(?,?)");
$stmt->bind_param('si',$uid,$userCount);
$stmt->execute();
$toRet = $userCount!=0;
Disconnect($connect);
return $toRet;

Warnings are as follow:

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
VMai

The way stored procedures work with prepared statements is a bit more complicated. PHP manual states that you've got to use session variables (MySQL sessions, not PHP)

INOUT/OUT parameter

The values of INOUT/OUT parameters are accessed using session variables.

So you could do it with

$connect=&ConnectDB();
// bind the first parameter to the session variable @uid
$stmt = $connect->prepare('SET @uid := ?');
$stmt->bind_param('s', $uid);
$stmt->execute();

// bind the second parameter to the session variable @userCount
$stmt = $connect->prepare('SET @userCount := ?');
$stmt->bind_param('i', $userCount);
$stmt->execute();

// execute the stored Procedure
$result = $connect->query('call IsUserPresent(@uid, @userCount)');

// getting the value of the OUT parameter
$r = $connect->query('SELECT @userCount as userCount');
$row = $r->fetch_assoc();               

$toRet = ($row['userCount'] != 0);

Remark:

I recommend to rewrite this procedure as a function with one IN parameter that returns INT.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Stored Procedure OUT parameter always returning NULL

분류에서Dev

Mysqli Prepared statement usage with AJAX POST to PHP file

분류에서Dev

MySqli limit not binding to prepared statement

분류에서Dev

Simple If Statement in Stored Procedure

분류에서Dev

Delete statement not working in Stored Procedure

분류에서Dev

How to convert this select statement into a stored procedure?

분류에서Dev

PHP prepared like-statement in function format?

분류에서Dev

Passing multiple value parameter to stored procedure

분류에서Dev

Is an empty string considered an empty parameter in a stored procedure?

분류에서Dev

SQL stored procedure: how to concatenate parameter value?

분류에서Dev

How to efficiently check stored procedure for existence in PHP

분류에서Dev

PHP with stored procedure - cursor output in Oracle

분류에서Dev

SQL - Using a select statement and loop to populate a stored procedure

분류에서Dev

What does a php select prepared statement look like?

분류에서Dev

Can only add two values in prepared statement PHP

분류에서Dev

Passing data to a stored procedure that accepts Table Valued Parameter using pyodbc

분류에서Dev

How to pass schema as parameter to a stored procedure in sql server?

분류에서Dev

Call MySQL stored procedure with parameter from batch file

분류에서Dev

C# - Passing parameter to stored procedure and return IEnumerable

분류에서Dev

C# - Passing parameter to stored procedure and return IEnumerable

분류에서Dev

PHP mysqli_query() expects parameter 1 to be mysqli, null given in

분류에서Dev

Calling an Oracle procedure with an IN OUT parameter type from Groovy

분류에서Dev

Exception in prepared statement

분류에서Dev

Universal prepared statement for update

분류에서Dev

현재 시간을 저장된 datetime과 비교하기위한 MySQLi Prepared Statement?

분류에서Dev

how to get LAST_INSERT_ID via stored procedure in php

분류에서Dev

SQL Server Stored procedure aborting when called from php

분류에서Dev

PDO prepared statement with insertion in database

분류에서Dev

PDO update prepared statement not working

Related 관련 기사

  1. 1

    Stored Procedure OUT parameter always returning NULL

  2. 2

    Mysqli Prepared statement usage with AJAX POST to PHP file

  3. 3

    MySqli limit not binding to prepared statement

  4. 4

    Simple If Statement in Stored Procedure

  5. 5

    Delete statement not working in Stored Procedure

  6. 6

    How to convert this select statement into a stored procedure?

  7. 7

    PHP prepared like-statement in function format?

  8. 8

    Passing multiple value parameter to stored procedure

  9. 9

    Is an empty string considered an empty parameter in a stored procedure?

  10. 10

    SQL stored procedure: how to concatenate parameter value?

  11. 11

    How to efficiently check stored procedure for existence in PHP

  12. 12

    PHP with stored procedure - cursor output in Oracle

  13. 13

    SQL - Using a select statement and loop to populate a stored procedure

  14. 14

    What does a php select prepared statement look like?

  15. 15

    Can only add two values in prepared statement PHP

  16. 16

    Passing data to a stored procedure that accepts Table Valued Parameter using pyodbc

  17. 17

    How to pass schema as parameter to a stored procedure in sql server?

  18. 18

    Call MySQL stored procedure with parameter from batch file

  19. 19

    C# - Passing parameter to stored procedure and return IEnumerable

  20. 20

    C# - Passing parameter to stored procedure and return IEnumerable

  21. 21

    PHP mysqli_query() expects parameter 1 to be mysqli, null given in

  22. 22

    Calling an Oracle procedure with an IN OUT parameter type from Groovy

  23. 23

    Exception in prepared statement

  24. 24

    Universal prepared statement for update

  25. 25

    현재 시간을 저장된 datetime과 비교하기위한 MySQLi Prepared Statement?

  26. 26

    how to get LAST_INSERT_ID via stored procedure in php

  27. 27

    SQL Server Stored procedure aborting when called from php

  28. 28

    PDO prepared statement with insertion in database

  29. 29

    PDO update prepared statement not working

뜨겁다태그

보관