0

我正在尝试使用 Heroku/PGSQL 建立一个简单的数据库。到目前为止,我已经建立了连接并创建了我想要的表,但是每当我尝试向表中插入数据时,什么都没有发生。

出于测试目的,我正在使用代码

$dbconn = pg_connect(pg_connection_string());
if (!$dbconn) {
   echo "Database connection error. ";
}
else {
// Create table
    $create="CREATE TABLE IF NOT EXISTS users (
        id INT PRIMARY KEY NOT NULL, 
        gender CHAR(30), 
        age INT, 
        location CHAR(30), 
        timestamp CHAR(30)
        )";

// Execute query
    if (pg_query($dbconn,$create))  {
        echo "Table users created successfully. ";
    }
    else  {
        echo "Error creating table. ";
    }
}

function insert() {
    $dbconn = pg_connect(pg_connection_string());
    if (!$dbconn) {
        echo "Database connection error 2. ";
    }
    else {
        # Insert query
        $insert = "INSERT INTO users (id, gender, age, location, timestamp) VALUE (1234, 'male', 99, 'UK', '31/05/2013')";
        # Execute query
        if (pg_query($dbconn,$insert)) {
            echo "Data entered successfully. ";
        }
        else {
            echo "Data entry unsuccessful. ";
        }
    }

}

运行时返回“表用户创建成功”。但是,当我调用该$$insert$$函数(稍后我将使用它向表中插入不同的值)时,它总是返回不成功。

我究竟做错了什么?

4

2 回答 2

3
$insert = "INSERT INTO users (id, gender, age, location, timestamp)
VALUES (1234, 'male', 99, 'UK', '31/05/2013')";

也许你不应该使用 char 作为时间戳

于 2013-05-30T20:02:34.317 回答
3

在插入语句中,VALUE 应该是 VALUES。

无论如何,您应该尝试恢复数据库给出的错误消息。我认为这在 PHP 中是可能的。您将获得有关错误原因的更多信息。

于 2013-05-30T20:02:44.490 回答