使用php和mysql将数据插入表中的正确方法?

时间:2014-09-06 10:44:35

标签: php mysql sql sql-insert

我正在尝试从表单提交中将数据插入表中。我已经确保与数据库有连接。我想知道我是否正确地做到了这一点。这是我的代码。

   //INSERT INTO TABLE
   $name  = trim($_POST['name']); 
   $bio   = trim($_POST['bio']); 
   $email = trim($_POST['email']); 

      if(isset($name, $bio, $email)) {
          if($db->query("
            INSERT INTO users(name, bio,email, created,updated)
            VALUES ('{$name}', '{$bio}','{$email}', NOW())")) {
            echo 'number of rows effected by the INSERT:', $db->affected_rows; 

           }

       }

请记住,我只是新的PHP,感谢您的帮助。

1 个答案:

答案 0 :(得分:4)

我假设你已经在你发布的内容之前的行中创建了一个PDO数据库连接。

最好和最安全的方法是使用预准备语句和参数绑定。

$stmt = $db->prepare("INSERT INTO users(name, bio,email, created,updated)
        VALUES (:name, :bio, :email, NOW())");

然后,您可以执行查询并将值绑定到参数:

$stmt->execute(array("name"=>$name,
                     "bio"=>$bio,
                     "email"=>$email));

或者,您可以按上述方式准备查询,并使用bindValue()函数将值绑定到参数,然后执行它:

$stmt->bindValue(':name', $name, PDO::PARAM_STR);
$stmt->bindValue(':bio', $bio, PDO::PARAM_STR);
$stmt->bindValue(':email', $email, PDO::PARAM_STR);
$stmt->execute();