使用pdo插入特定列

时间:2014-06-16 08:27:50

标签: php mysql insert

我有两个用户注册表单,其中一个需要更多字段来输入数据。

我的第一个问题是如何制作表格?我想我应该创建一个表,因为对于登录我应该只连接到一个表

但是这样我应该如何从字段较少的表单中插入数据? 我写了这段代码:

    $id='';
    $password = md5($password);
    $data = array(':id'=>$id,':password'=>$password,':mobile'=>$mobile, ':email'=>$email);
    $stmt = $con->prepare('INSERT INTO users VALUES(:id,:password, :mobile, :email ) ');
    $stmt->execute($data);

并且它会出错,因为表中还有其他一些列,如$firstname$lastname等。那么我应该怎么做?

我写的一种方式是:

$firstname= '';
$lastname = '';

以这种方式插入空数据,但这是正确的方法吗?

1 个答案:

答案 0 :(得分:2)

您应该始终在所有操作中明确命名您正在使用的列,而不是简单地依赖于它们隐含的“顺序”。对于INSERT查询,语法为:

INSERT INTO users (id, password, mobile, email)
VALUES (:id, :password, :mobile, :email);