PHP MySQL saklı yordam oluşturmak nasıl?

4 Cevap php

Bir mağaza prosedür (SP) bir yaratmak deyimi ile PHP MySQL sorgulamak için benim girişimleri tüm başarısız oldu. Bu mümkün değil mi?

Gerçekten mümkün ise, bir örnek verin lütfen.

4 Cevap

MySQL manuel how to create stored procedures (13.1.15. CREATE PROCEDURE ve CREATE FUNCTION sözdizimi hakkında net bir bakış vardır ).

Bir sonraki soru: hesap aslında bir yordam oluşturmak için MySQL veritabanını screensize haklarını erişmek için kullanır?

Bu soru hakkında detayları burada bulabilirsiniz: 19.2.2. Stored Routines and MySQL Privileges

Sürece:

  • MySQL 5.0 + kullanıyorsanız
  • Hesabınız saklı yordam oluşturmak için yetkili olan
  • Sen geçerli CREATE PROCEDURE syntax kullanıyorsunuz

Sonra çalışma olmalıdır. Bu kontrol ve bize geri almak.

Eğer PHP ile bağlanırken hesabına yeterli yetkileri var mı? Dan the manual

As of MySQL 5.0.3, to execute the CREATE PROCEDURE or CREATE FUNCTION statement, it is necessary to have the CREATE ROUTINE privilege

Sorularınızı Stored Routines and MySQL Privileges ayrıca bkz.

Ayrıcalıkların yanı sıra, oldukça ne muhtemelen sorun aslında mysql_query ($ sorgu) Sadece çağrı başına bir komut çalışabilir olmasıdır neden olabilir!

Peki ne yapmak gerekir sevaral mysql_query ($ sorgu)-aramalar içine komutları bölmek olduğunu.

Ne demek bu gibi bir şeydir:

$query = "DROP FUNCTION IF EXISTS fnElfProef (accountNr INT)";

mysql_query($query);

$query = "CREATE FUNCTION fnElfProef (accountNr INT)
    RETURNS BOOLEAN
       BEGIN
          DECLARE i, totaal INT DEFAULT 0;
          WHILE i < 9 DO
             SET i = i+1;
             SET totaal = totaal+(i*(accountNr%10));
             SET accountNr = FLOOR(accountNr/10);
          END WHILE;
       RETURN (totaal%11) = 0;
    END";
mysql_query($query);


$query = "SELECT * FROM mytable";
mysql_query($query);