2017-05-04 6 views
0

mySql에서 프로 시저를 만들었습니다. 이 모양입니다. 절차가 아무 것도하지 않습니다

enter image description here

나는 PHP에서이 절차를 불렀다.

이 호출 후에도 테이블은 여전히 ​​비어 있고 그 이유는 알 수 없습니다. 내가 확인했다

문제 :

  1. 변수 이름
  2. 연결
  3. 구문 (I 올바른 구문은 생각)

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

+0

쿼리가 서버에서 실행 된 경우 프로필러를 확인 했습니까? – Pream

+0

업데이트 된 PHP 코드를 보면 저장된 프로 시저가 전혀 필요하지 않습니다. mysqli_insert_id()를 통해 주소를 삽입 한 후 마지막으로 삽입 한 ID를 얻은 다음 나중에 일반 삽입을 사용하면된다. – Shadow

+0

효과가있었습니다! 고마워요 :) –

답변

0
  1. 당신은 세션 변수 입력 및 지역 변수를 혼합했다. @id_addid_add과 같지 않으며 @f_name과 동일한 광고 f_name도 아닙니다. 따라서 테이블에 빈 값을 삽입하려고합니다.

  2. 쿼리 전후에 구분 기호가 적절하게 설정되어있는 경우 스크린 샷에서 볼 수 없습니다. Pls가 그것을 확인하십시오.

  3. 저장된 proc 파일을 phpmyadmin에서 테스트하여 확인하십시오.

+0

안녕하세요! 나는 PHP의 세계에 새로운 사람이다. 나는 방금 그것을 배우기 시작했다. "1"에 대한 코드 예제를 줄 수 있습니까? –

+0

어떤 코드 예입니까? @ – Shadow

+0

을 삭제하고 방금 @을 삭제했습니다. 테이블은 여전히 ​​emty로 남아 있습니다. –