我的代码中有一些旧的
mysql_query查询,我想将其转换为PDO,但我很难开始工作.
我原来的代码是:
MysqL_query("UPDATE people SET price='$price',contact='$contact',fname='$fname',lname='$lname' WHERE id='$id' AND username='$username' ") or die(MysqL_error());
现在我想:
$sql = "UPDATE people SET price='$price',lname='$lname' WHERE id='$id' AND username='$username'"; $q = $conn->query($sql) or die("Failed!");
但似乎无法让它发挥作用,任何想法?
更新的代码:
$conn = new PDO("MysqL:host=$host;dbname=$db",$user,$pass); // check if the form has been submitted. If it has,process the form and save it to the database if (isset($_POST['submit'])) { // confirm that the 'id' value is a valid integer before getting the form data if (is_numeric($_POST['id'])) { // get form data,making sure it is valid $id = $_POST['id']; $fname = MysqL_real_escape_string(htmlspecialchars($_POST['fname'])); $lname = MysqL_real_escape_string(htmlspecialchars($_POST['lname'])); $contact = MysqL_real_escape_string(htmlspecialchars($_POST['contact'])); $price = MysqL_real_escape_string(htmlspecialchars($_POST['price'])); // check that firstname/lastname fields are both filled in if ($fname == '' || $lname == '' || $contact == '' || $price == '' ) { // generate error message $error = 'ERROR: Please fill in all required fields!'; //error,display form renderForm($id,$fname,$lname,$contact,$price,$error); } else { // save the data to the database $username = $_SESSION['username']; $query = "UPDATE people SET price=?,contact=?,fname=?,lname=? WHERE id=? AND username=?"; $stmt = $db->prepare($query); $stmt->bindParam(1,$price); $stmt->bindParam(2,$contact); $stmt->bindParam(3,$fname); $stmt->bindParam(4,$lname); $stmt->bindParam(5,$id); $stmt->bindParam(6,$username); $stmt->execute(); // once saved,redirect back to the view page header("Location: view.PHP"); }
有关更多信息,请访问此链接:
PHP PDO
原文链接:https://www.f2er.com/php/133202.html根据你的例子,
<?PHP $query = "UPDATE people SET price=?,lname=? WHERE id=? AND username=?"; $stmt = $dbh->prepare($query); $stmt->bindParam(1,$price); $stmt->bindParam(2,$contact); $stmt->bindParam(3,$fname); $stmt->bindParam(4,$lname); $stmt->bindParam(5,$id); $stmt->bindParam(6,$username); $stmt->execute(); ?>