Rumah > Soal Jawab > teks badan
Percubaan saya untuk menanyakan MySQL daripada PHP menggunakan kenyataan Cipta Prosedur Tersimpan (SP) telah gagal. Adakah ini mustahil?
Jika boleh, sila beri contoh.
P粉5461798352023-10-25 10:23:20
Selain keistimewaan, perkara yang paling mungkin menyebabkan masalah anda ialah mysql_query($query) sebenarnya hanya boleh melaksanakan satu arahan bagi setiap panggilan!
Jadi apa yang anda perlu lakukan ialah membahagikan arahan kepada beberapa mysql_query($query) -panggilan.
Apa yang saya maksudkan ialah ini:
$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);
P粉0088297912023-10-25 00:51:17
Manual
MySQL mempunyai gambaran keseluruhan yang jelas tentang cara membuat prosedur tersimpan (13.1.15. CREATE PROCEDURE
和 CREATE FUNCTION
Sintaks ).
Soalan seterusnya ialah: adakah akaun yang anda gunakan untuk mengakses pangkalan data MySQL mempunyai kebenaran yang sesuai untuk proses penciptaan sebenar?
Butiran tentang isu ini boleh didapati di sini: 19.2.2. Rutin tersimpan dan kebenaran MySQL