2016-08-03 2 views
-3

이 질문에 여러 번 대답했지만 그냥 기존 코드 내에서 작동하지 않는 것 같습니다. 일용이 된 것을 용서해주십시오. 내 질문 : 새 레코드를 만들 때 인덱싱되고 자동 증가 된 client_id 값을 가져와야하기 때문에 전자 메일을 통해 새 사용자에게 패스워드를 보내어 계정에 로그인 할 수 있습니다. 여기 내 코드와 모든 도움을 주셔서 감사합니다. 또한 mysqli에 내가 MySQL을 변환해야 이해 :PHP 마지막 삽입 레코드의 ID 가져 오기

$conn = mysql_connect($servername, $username, $password, $dbname); 

if (!$conn) { die('Could not connect: ' . mysql_error()); } 

mysql_select_db($dbname,$conn); 

$sql="INSERT INTO ricks_inserts (companyname, contact, email) 

VALUES ('$_POST[companyname]','$_POST[contact],'$_POST[email]')"; 

$id = mysql_insert_id(); "My actual variable in my table is called client_id" 

if (!mysql_query($sql,$conn)) 
{ 
die('Error: ' . mysql_error()); 
}echo "<br />"; 

$message= <<<EOD 
Client Id:$_POST[client_id] 
Email: $_POST[email] 
Company: $_POST[companyname] 
Contact: $_POST[contact] 
EOD; 
+2

당신은 삽입 ID를 얻을 수 없다 * after * 당신이 삽입 쿼리를 수행 할 때까지. 이해가 안돼, 안돼? –

+2

이 코드를 사용하여 SQL 삽입을 할 수 있습니다. – chris85

+0

우리는 여전히 주사에 대해 이야기하고있을 수 있습니까? – Strawberry

답변

-1

어쩌면이 하나 MySQL 버전을 시도 할 수 있습니다

$conn = mysql_connect($servername, $username, $password, $dbname); 

if (!$conn) { die('Could not connect: ' . mysql_error()); } 

mysql_select_db($dbname,$conn); 

$companyname = mysql_real_escape_string($_POST['companyname']); 
$contact = mysql_real_escape_string($_POST['contact']); 
$email = mysql_real_escape_string($_POST['email']); 

$sql="INSERT INTO ricks_inserts (companyname, contact, email) 

VALUES ('".$companyname."','".$contact."','".$email."') " or die(mysql_errno()); 

if (mysql_query($sql)) { 
    $last_id = mysql_insert_id(); 
    echo "New record created successfully. Last inserted ID is: " . $last_id; 
} else { 
    echo "Error: " . $sql . "<br>" . mysql_error(); 
} 

$message= <<<EOD 
Client Id:$_POST[client_id] 
Email: $_POST[email] 
Company: $_POST[companyname] 
Contact: $_POST[contact] 
EOD; 

MySQLi 버전

 <?php 
$conn = mysqli_connect($servername, $username, $password, $dbname); 

if (!$conn) { die('Could not connect: ' . mysqli_error($conn)); } 

mysqli_select_db($conn,$dbname); 

$companyname = mysqli_real_escape_string ($conn,$_POST['companyname']); 
$contact = mysqli_real_escape_string ($conn,$_POST['contact']); 
$email = mysqli_real_escape_string ($conn,$_POST['email']); 

$sql="INSERT INTO ricks_inserts (companyname, contact, email) 

VALUES ('".$companyname."','".$contact."','".$email."') " or die(mysqli_errno($conn)); 

if (mysqli_query($conn,$sql)) { 
    $last_id = mysqli_insert_id($conn); 
    echo "New record created successfully. Last inserted ID is: " . $last_id; 
} else { 
    echo "Error: " . $sql . "<br>" . mysqli_error($conn); 
} 

$message= <<<EOD 
Client Id:$_POST[client_id] 
Email: $_POST[email] 
Company: $_POST[companyname] 
Contact: $_POST[contact] 
EOD; 

?> 
+1

[더 이상 mysql_ 확장 프로그램을 사용하지 마십시오.] (http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php). 그것은 PHP에서 제거되었습니다 – Machavity

+0

@Machavity 현재 나는 mysqli 확장을 사용하고 있습니다. 나는 어떤 방법 으로든 당신의주의를 위해 감사드립니다. – mohammed

관련 문제