sql >> Databáze >  >> RDS >> Mysql

PHP mysqli připravilo příkaz pro uloženou proceduru s parametrem out

Způsob, jakým uložené procedury pracují s připravenými příkazy, je o něco složitější. příručka PHP uvádí, že musíte používat proměnné relace (relace MySQL, nikoli PHP)

Takže byste to mohli udělat pomocí

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

Poznámka:

Doporučuji tento postup přepsat jako funkci s jedním parametrem IN, který vrací INT.



  1. 12c Změny DBA_USERS

  2. Vzdálená připojení Mysql Ubuntu

  3. Jak funguje funkce OCT() v MySQL

  4. Implementace stránkování pomocí OFFSET FETCH NEXT v SQL Server