2015-08-02 32 views
5

Tôi đang cố gắng sử dụng lệnh pdo để cập nhật cơ sở dữ liệu, mã không trả lại bất kỳ lỗi nào nhưng mã không hoạt động. Logic là người dùng sẽ nhập vào id người dùng và sau đó gửi lần truy cập vị trí mới và vị trí sẽ được cập nhật.mẫu php không cập nhật cơ sở dữ liệu

Đây là mã có dạng:

<html> 
    <head> 
     <title>Web Dev 1</title> 
    </head> 
    <body> 
     <form method="post" action="update.php"> 
      Patient location by ID: <input type="text" id="Patid" name="Patid" /><br /> 
      Location: <input type="text" id="Location" name="Location" /><br /> 
      <input type="submit" name = 'action' value="update" /> 
</html> 

Đây là mã cập nhật:

<?php 
    error_reporting(E_ALL); 
    ini_set('display_errors',1); 
    $host = "localhost"; 
    $user ="sbuser"; 
    $db = "mdb"; 
    $pass ="lamepassword"; 
    $conn = new PDO($dsn, $user, $password); 
    $sqlInsert = 'UPDATE lobby set Location=:Location where Patid=:Patid'; 
    $preparedStatement = $conn->prepare($sqlInsert); 
    $preparedStatement->execute(array(':Patid' => '$_POST[Patid]', ':Location' = $_POST[Location]'); 
    } 
?> 
+0

Đâu là khởi tạo của $ dsn? –

+3

Trên một lưu ý phụ, thiếu '' của bạn trong mẫu mã. – dakab

+0

thanku cho lưu ý đó ... @dakab –

Trả lời

2

có một số lỗi trong mã của bạn

<?php 
$host = "localhost"; 
$db = "mdb"; 
$user ="sbuser"; 
$pass =""; 
$Patid=$_POST['Patid']; 
$Location=$_POST['Location']; 
$conn = new PDO("mysql:host=$host;name=$name",$user,$pass); 
    $sqlInsert = "UPDATE lobby SET Location=? WHERE Patid=?"; 
    $preparedStatement = $conn->prepare($sqlInsert); 
    $preparedStatement->execute(array($Location, $Patid)); 
?> 
Các vấn đề liên quan