簡體   English   中英

PHP Mysql插入存儲過程

[英]Php Mysql insert stored procedure

我的存儲過程:

DROP PROCEDURE IF EXISTS alphaindia.insertcoursedetails;
CREATE DEFINER=`root`@`localhost` PROCEDURE `insertcoursedetails`( IN  `StartDate` DATE,IN  `ChurchName` VARCHAR(50), IN  `CourseTypeId` BIGINT, IN  `Participants` BIGINT, IN  `MxId` VARCHAR( 50 ) , IN  `DateCreated` DATE, IN  `LocationName` VARCHAR( 100 ) , IN  `LocationLatitude` VARCHAR( 50 ) , IN  `LocationLongitude` VARCHAR( 50 ) , IN  `LocationAddress` VARCHAR( 300 ) )
NO SQL
INSERT INTO coursedetails( StartDate, ChurchName, CourseTypeId, Participants, MxId, DateCreated, LocationName, LocationLatitude, LocationLongitude, LocationAddress ) 
ALUES (
        StartDate, ChurchName, CourseTypeId, Participants, MxId, DateCreated, LocationName, LocationLatitude, LocationLongitude, LocationAddress
      )

PHP代碼:

$date = date('d/m/Y');
echo $date;
mysql_connect("localhost", "root", "") or
die("Could not connect: " . mysql_error());
mysql_select_db("alphaindia");
$result = mysql_query("Call insertcoursedetails('2/3/2014','$_SESSION['ChurchLead']','$_SESSION['courseid']','$_SESSION['NumbPart']','vini.katyal','2/3/2014','$_SESSION['shortname']','$_SESSION['lat'],'$_SESSION['long'],'$_SESSION['address']'");
if($result)
{
    echo("<br>Data Input OK");
} 
else
{
    echo("<br>Data Input Failed");
}

我無法通過php中的存儲過程插入數據。 請幫忙

在雙引號字符串中,PHP可以求值變量名,例如

echo "My name is $name";

但是,使用數組時,必須使用花括號來成功評估語句。 以下語句有效

echo "My name is {$_SESSION['name']}";

你會得到

PHP Parse error:  syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING 

如果你這樣做

echo "My name is $_SESSION['name']";

這就是您的查詢中正在發生的事情。

您的程序應為:

DROP PROCEDURE IF EXISTS alphaindia.insertcoursedetails;
DELIMITER $$
CREATE DEFINER=`root`@`localhost` 
   PROCEDURE `insertcoursedetails`(IN `StartDate` DATE,IN  `ChurchName` VARCHAR(50), IN  `CourseTypeId` BIGINT, IN  `Participants` BIGINT, IN  `MxId` VARCHAR( 50 ) , IN  `DateCreated` DATE, IN  `LocationName` VARCHAR( 100 ) , IN  `LocationLatitude` VARCHAR( 50 ) , IN  `LocationLongitude` VARCHAR( 50 ) , IN  `LocationAddress` VARCHAR( 300 ) )
BEGIN
  INSERT INTO coursedetails( StartDate, ChurchName, CourseTypeId, Participants, MxId, DateCreated, LocationName, LocationLatitude, LocationLongitude, LocationAddress ) 
VALUES (
        StartDate, ChurchName, CourseTypeId, Participants, MxId, DateCreated, LocationName, LocationLatitude, LocationLongitude, LocationAddress
      )
END$$

您需要在過程中添加BEGINEND

在此處閱讀更多有關程序的信息

暫無
暫無

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

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