2017-06-27 13 views
0

だから私はw3schoolsからこれを学びました。 。 。この例では、コードに直接注入されたデータが使用されています。私はあなたがPHP Form Handling最初プリペアドステートメントを使用してPDOにフォームデータを挿入するにはどうすればよいですか?

例を学ぶ必要があると思うどのように私は同じコード・ブロックを使用することができますが、

代わりにフォームから
<?php 
$servername = "localhost"; 
$username = "username"; 
$password = "password"; 
$dbname = "myDBPDO"; 

try { 
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username,  
$password); 
// set the PDO error mode to exception 
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 

// prepare sql and bind parameters 
$stmt = $conn->prepare("INSERT INTO MyGuests (firstname, lastname, 
email) 
VALUES (:firstname, :lastname, :email)"); 
$stmt->bindParam(':firstname', $firstname); 
$stmt->bindParam(':lastname', $lastname); 
$stmt->bindParam(':email', $email); 

// insert a row 
$firstname = "John"; 
$lastname = "Doe"; 
$email = "[email protected]"; 
$stmt->execute(); 

// insert another row 
$firstname = "Mary"; 
$lastname = "Moe"; 
$email = "[email protected]"; 
$stmt->execute(); 

// insert another row 
$firstname = "Julie"; 
$lastname = "Dooley"; 
$email = "[email protected]"; 
$stmt->execute(); 

echo "New records created successfully"; 
} 
catch(PDOException $e) 
{ 
echo "Error: " . $e->getMessage(); 
} 
$conn = null; 
?> 
+0

「John」をフォームの値に置き換えます。多分 '$ _POST [ 'firstname'] '? – chris85

+0

@ chris85ありがとう!短いが、甘い –

答えて

0

を受信データを思っていたform.htmlが、その後

<html> 
<body> 

<form action="insert.php" method="post"> 
Name: <input type="text" name="firstname"><br> 
Name: <input type="text" name="lastname"><br> 
E-mail: <input type="text" name="email"><br> 
<input type="submit"> 
</form> 

</body> 
</html> 

であることを確認してくださいデータベースへのデータハンドリングへinsert.php

<?php 
$servername = "localhost"; 
$username = "root"; 
$password = "yaskur"; 
$dbname = "test"; 

try { 
    $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, 
     $password); 
// set the PDO error mode to exception 
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 

// prepare sql and bind parameters 
    $stmt = $conn->prepare("INSERT INTO MyGuests (firstname, lastname, 
email) 
VALUES (:firstname, :lastname, :email)"); 
    $stmt->bindParam(':firstname', $firstname); 
    $stmt->bindParam(':lastname', $lastname); 
    $stmt->bindParam(':email', $email); 

// insert a row 
    $firstname = $_POST["firstname"]; 
    $lastname = $_POST["lastname"]; 
    $email = $_POST["email"]; 
    $stmt->execute(); 


    echo "New records created successfully"; 
} 
catch(PDOException $e) 
{ 
    echo "Error: " . $e->getMessage(); 
} 
$conn = null; 
?> 
+0

ありがとう、お元気ですか!私はあなたの事例からもう少し多くのことを拾いました。 –

関連する問題