2016-04-06 3 views
-2

У меня есть простая инструкция insert для сохранения деталей формы в PHP.Вставить хранимую процедуру в PHP

Я хочу преобразовать это в процедуру хранения.

Ниже мой текущий код, как

$servername = "localhost"; 
    $username = "aaaaaa"; 
    $password = "ppppp"; 
    $dbname = "xxxx_database"; 

    $sName = $_POST["name"]; 
    $sEmail = $_POST["email"]; 
    $sPhone = $_POST["Number"]; 
    $sInterest = $_POST["interest"]; 
    $Comments = $_POST["Inquiry"]; 


    // Create connection 
    $conn = new mysqli($servername, $username, $password, $dbname); 
    // Check connection 
    if ($conn->connect_error) { 
     die("Connection failed: " . $conn->connect_error); 
    } 

    $sql = "INSERT INTO ContactForm (Name, Email, PhoneNumber,Interest,Comments) VALUES ('$sName', '$sEmail', '$sPhone','$sInterest', '$Comments')"; 

    if ($conn->query($sql) === TRUE) { 
     echo "New record created"; 
    } else { 
     echo "Error: " . $sql . "<br>" . $conn->error; 
    } 

$conn->close(); 

И это моя процедура магазин

CREATE DEFINER = `xxx`@`localhost` PROCEDURE `SpInsertContactForm` (IN `Name` TEXT CHARSET armscii8, IN `Email` TEXT CHARSET armscii8, IN `PhoneNumber` TEXT CHARSET armscii8, IN `Interest` TEXT CHARSET armscii8, IN `Comments` TEXT CHARSET armscii8) NOT DETERMINISTIC NO SQL SQL SECURITY DEFINER INSERT INTO ContactForm(Name, Email, PhoneNumber, Interest, Comments) 
VALUES (
Name, Email, PhoneNumber, Interest, Comments 
) 

Как я могу использовать эту процедуру магазина. Я новичок в php и mysql в этом указателе.

Я использую SP, как

if (!$mysqli->query("CALL SpInsertContactForm($sName, $sEmail, $sPhone,$sInterest, $Comments)")) 
     { 
      echo "CALL failed: (" . $mysqli->errno . ") " . $mysqli->error; 
     } 

Это не спасает ничего в БД

ответ

1

вы кал использовать это: $mysqli->query("CALL SpInsertContactForm('<your_namevalue>','<your_emailvalue>','<your_phonevalue>','<your_interestvalue>','<your_commentvalue>')

Для больше, пожалуйста, пройдите по ссылке: http://php.net/manual/en/mysqli.quickstart.stored-procedures.php

+0

Do Мне нужно закрыть соединение, как это делается. Вы имеете в виду, что shoudl заменяет INSERT .... вашим фрагментом кода. – Learning

+0

Да. Вы также можете закрыть соединение. Пожалуйста, перейдите по ссылке ... у него также есть пример. –

+0

Я пробовал, он не работает – Learning

Смежные вопросы