可能重复:
MySQL / PDO / Prepared Statements - 都是一个很大的跳跃,有点压倒性和有点混乱?
我正在使用此代码将数据插入用户表中。除非用户的姓氏包含撇号(例如 O'Toole),否则它可以正常工作。我的理解是,PDO 准备好的语句应该处理撇号,而我不需要额外的工作。我的假设是否不正确,这就是为什么此代码不适用于带有撇号的名称的原因?
我没有收到错误消息。
require_once('/database/database.php');
$query = "INSERT INTO users
(first_name,last_name, email, pass, reg_date)
VALUES
('$fn','$ln','$em', SHA1('$pwd'), NOW())";
try {
$statement=$db->prepare($query);
$statement->bindValue(':first_name',$fn);
$statement->bindValue(':last_name',$ln);
$statement->bindValue(':email',$em);
$statement->bindValue(':pass',SHA1('$pwd'));
$success = $statement->execute();
$row_count = $statement->rowCount();
$statement->closeCursor();