-1

これまでの私のコードは次のとおりです...

if (isset($_POST['projectName']))
{

    $projectName = $_POST['projectName'];
    $dueDate = $_POST['dueDate'];
    $description = $_POST['description'];
    $requestor = $_POST['requestor'];
    $status = $_POST['status'];

    //Update into the DB
    $updateSQL = mysql_query("INSERT INTO projects 
                                (projectName, 
                                dueDate, 
                                description, 
                                requestor,
                                status
                                )
                                VALUES 
                                ('".$projectName."','
                                ".$dueDate."','
                                ".$description."','
                                ".$requestor."','
                                ".$status."')");


    /*
    header('Location:manage.php?update=insertSuccess');
    exit();
    */  

}

$status を除いて、すべての値が DB に正常に挿入されています。ここで何か不足していますか?

4

1 に答える 1

1

構文は問題ないように見えますが...

  • エラーをキャッチしていないので、おそらく何らかの列の制約です。
$updateSQL = mysql_query("INSERT...") or die(mysql_error());

これらのエラーをキャッチします。

これがあなたが始めるための何かです:

$link = mysqli_connect('localhost', 'my_user', 'my_password', 'world');

/* check connection */
if (!$link) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$stmt = mysqli_prepare($link, "INSERT INTO projects (projectName, dueDate, description, requestor, status) VALUES (?, ?, ?, ?, ?)");
mysqli_stmt_bind_param($stmt, 'sssss', $projectName, $dueDate, $description, $requestor, $status);

/* execute prepared statement */
mysqli_stmt_execute($stmt);

printf("%d Row inserted.\n", mysqli_stmt_affected_rows($stmt));

/* close statement and connection */
mysqli_stmt_close($stmt);

/* close connection */
mysqli_close($link);
于 2013-01-08T21:26:53.173 に答える