2016-04-06 8 views
-2

Ich habe eine einfache Einfügeanweisung, um Formulardetails in PHP zu speichern.Fügen Sie gespeicherte Prozedur in PHP

Ich möchte dies in Store-Verfahren konvertieren.

Im Folgenden finden Sie meine aktuellen Code wie

$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(); 

Und das ist mein Abspeicherprozedur

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 
) 

Wie kann ich diesen Speicher Prozedur verwenden. Ich bin neu in PHP und MySQL brauche Zeiger in diesem.

Ich benutze SP als

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

Das ist nicht alles in DB

Antwort

1

Sie diese cal verwenden nicht sparen: $mysqli->query("CALL SpInsertContactForm('<your_namevalue>','<your_emailvalue>','<your_phonevalue>','<your_interestvalue>','<your_commentvalue>')

Weitere folgen Sie bitte dem Link: http://php.net/manual/en/mysqli.quickstart.stored-procedures.php

+0

Do Ich muss die Verbindung schließen, wie es gemacht wird. Meinst du, ich sollte INSERT ersetzen mit Ihrem Code-Snippet .. – Learning

+0

Ja. Sie können die Verbindung auch schließen. Bitte folgen Sie dem Link ... es hat auch ein Beispiel. –

+0

Ich habe es versucht, es funktioniert nicht – Learning