2013-05-15 127 views
1

我正在将所有查询都转换为PDO,而我是新手。 这是一个非常愚蠢的问题,但为什么下面的代码不工作?PHP PDO简单插入不起作用

try { 
    $conn = new PDO('mysql:host=localhost;dbname=ddd', $user, $password); 
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
} catch(PDOException $e) { 
    echo 'ERROR: ' . $e->getMessage(); 
} 
       $id = $_SESSION['id']; 
       $name = $_POST['name']; 
       $stmt = $pdo->prepare('INSERT INTO projects 
             (group_id, project_name) 
             VALUES (:id, :name)'); 
       $stmt->execute(array(
          ':id'=>$id, 
          ':name'=>$name 
          )); 

谢谢。

+1

**“不起作用”是什么意思?**“不起作用”是我们理解问题的不充分描述。当你尝试时发生了什么?你得到不正确的结果了吗?你有没有得到结果?如果结果不正确,是什么使它们不正确?你想要什么呢?你有没有得到任何正确的结果?如果是这样,他们是什么?不要让我们猜测。 –

+0

我看不到输出,因为我的代码在一个没有输出错误的地方,否则我会给他们的。 – Laurent

+0

你的网络服务器有错误日志,对吧?这就是错误可能发生的地方。 –

回答

1

您的连接变量是$conn并且您正在使用$pdo->prepare准备您的PDO声明。

更改为$conn->prepare()

$stmt = $conn->prepare('INSERT INTO projects 
     (group_id, project_name) 
     VALUES (:id, :name)'); 
+1

哦,我可以很容易地看到我自己......愚蠢的我...... – Laurent

1

你初始化变量称为$conn但过一会儿再打,这不是任何地方提到$pdo数据库连接。这是我首先要做的第一件事。