簡體   English   中英

調用存儲過程給出了錯誤

[英]calling stored procedure is giving an error

mysql拋出的錯誤是

您的SQL語法有誤; 檢查與您的MySQL服務器版本相對應的手冊,以在第1行的'NULL'附近使用正確的語法

我用phpmyadmin寫程序。

我的存儲過程是

BEGIN
DECLARE page_limit int(100);
DECLARE page_no VARCHAR(100);
DECLARE rstarts int(100) DEFAULT 1;
DECLARE rends int(100) DEFAULT 15; 
DECLARE query varchar(255) ;

set query = ' select brandid from brandinfo limit @rstarts,@rends';
PREPARE stmt FROM @query; 
set rstarts =  15;
set rends =1;
EXECUTE stmt using @rstarts,@rends;
DEALLOCATE PREPARE stmt;
END

聲明的變量和以@開頭的變量是兩個不同的故事。 閱讀有關用戶定義的變量(帶有@的變量)的信息。

DELIMITER $$
CREATE PROCEDURE your_procedure_name()
BEGIN
SET @rstarts = 1;
SET @rends = 15; 

set @query = 'select brandid from brandinfo limit ?, ?';
PREPARE stmt FROM @query; 
EXECUTE stmt using @rstarts, @rends;
DEALLOCATE PREPARE stmt;
END $$
DELIMITER ;

還要在查詢字符串中使用? 作為參數,而不是變量名稱。 並且您可能會錯過將分隔符設置為不同於;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM