mySqlでプロシージャを作成しました。それはこのように見えます。手順は何もしません
私は、PHPから、この手順を呼びました。
この呼び出しの後でもテーブルは空のままで、理由はわかりません。私がチェックしている
問題:
- 変数名
- 接続
- 構文(私は右の構文だと思います)
UPDATE:PHPコード
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbName = "shoppingcartdb";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbName);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "INSERT INTO address (Address, PostalCode, City, County, Phone, Fax)
VALUES ('".$_POST["address"]."', '".$_POST["p_code"]."', '".$_POST["city_sector"]."', '".$_POST["county"]."', '".$_POST["phone"]."', '".$_POST["fax"]."')";
$conn->query($sql);
$sql = "CALL Insert_User('".$_POST["username"]."', '".$_POST["f_name"]."', '".$_POST["l_name"]."', '".$_POST["psw"]."', '".$_POST["email"]."')";
if(!$conn->query($sql))
\t echo "failed";
$conn->close();
?>
UPDATE:手順 Code ScreenShot
クエリがサーバー上で実行された場合、プロファイラをチェックしましたか? – Pream
更新されたPHPコードを見ると、ストアドプロシージャはまったく必要ありません。 mysqli_insert_id()を使ってアドレスを挿入した後に最後に挿入したIDを取得し、後でプレーン・インサートを使用してください。 – Shadow
それは働いた!ありがとうございました:) –