1

サンプル テーブルに 1 行を挿入しようとしています。しかし、Web ページを実行するたびに、複数の行が挿入されます。phpmyadmin から同じクエリを実行すると、1 行しか挿入されません。これは正しいことです。また、無視して主キーを設定しようとしました。

使用しているDBテーブル構造

以下は、挿入コードのスニペットです。

<?php
$dbhost = "localhost";
$dbuser = "root";
$dbpass = "admin";
$dbname = "learnphp";
//connection open
$connection = mysqli_connect($dbhost,$dbuser,$dbpass,$dbname);
//testing for connection error
if(mysqli_connect_errno())
{
    die("Databse connection failed: ".mysqli_connect_error()."(".mysqli_connect_errno().")");
}
?>

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Insert into Database with php</title>
</head>

<body>
<?php
$id = 1;
$name = 'sam';
$age  = 10;

$query = "INSERT INTO first (id,name,age) VALUES ('{id}','{$name}', '{$age}')";
$result = mysqli_query($connection,$query);
if($result)
{
    //Success
    //redirect_to("somepage.php");
    echo "Success".$result;
}
else
{
    //Failure
    //$message = "inserttion failed";
    die("Database query failed.".mysqli_error($connection));
}
?>
</body>
</html>
<?php
    //connection close
    mysqli_close($connection);
?>
4

1 に答える 1

2

コードが 2 回実行されているようです。あなたのページには何らかの更新またはヘッダーの変更があったと思います。出口を配置してみてください。エコー「成功」の後、1行だけが挿入されているかどうかを確認します。そういうことになると思います。

于 2013-09-11T16:04:23.607 に答える