2016-04-06 12 views
-2

PHPでフォームの詳細を保存するための簡単なinsert文があります。ストアドプロシージャを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はこの中でポインタを必要とします。 http://php.net/manual/en/mysqli.quickstart.stored-procedures.php

答えて

1

DB

に何も保存されません

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

としてSPを使用します私はそれが行われるように接続を閉じる必要があります。 INSERTをコードスニペットに置き換えることを意味しますか?

+0

実行します。リンクをクリックしてください詳細は$mysqli->query("CALL SpInsertContactForm('<your_namevalue>','<your_emailvalue>','<your_phonevalue>','<your_interestvalue>','<your_commentvalue>')

は、私はあなたがこれを使用するCALこれは – Learning

+0

はい。あなたも接続を閉じることができます。リンクに従ってください...例もあります。 –

+0

私はそれが動作していないを試しました – Learning

関連する問題