1

テーブルにデータを 1 回しか挿入できないという問題があります。行を削除して新しい行を挿入すると機能しますが、既に行があり、別の行を挿入しようとすると機能しません。コンソールまたはネットワークにエラーはありません。

私はこれを挿入しています:

<?php
error_reporting(E_ALL);
include 'DB.php';

$con = mysql_connect($host,$user,$pass)
    or die("Error: ".mysql_error());
$dbs = mysql_select_db($databaseName, $con);

$name = mysql_real_escape_string($_POST['name']);
$date = date('Y-m-d');
$amount = $_POST['amount'];
$timPaid = $_POST['timPaid'];
$rennyPaid = $_POST['rennyPaid'];

$sql = "INSERT INTO $tableName (`name`, `date`, `amount`, `timpaid`, `rennypaid`)
        VALUES ('$name', '$date', '$amount', '$timPaid', '$rennyPaid')";

$result = mysql_query($sql, $con)
    or die("Error: ".mysql_error());

mysql_close($con);
?>

テーブルの設定方法、主キーなどに関係があるのではないかと考えています。プライマリである id 列があり、自動インクリメントだと思いますが、わかりません。

4

4 に答える 4

0

I had this... I had set my first column as 'unique' and my 'Insert' didn't involve that column. As a result the 'Insert' added a value of zero into the 'Unique' column (I'd set that column to 'integer'). When I did another insert 'I THINK' that the 'Insert' wanted to add another zero in the 'Unique' column that I wasn't 'Inserting' into, so it tried to 'Insert' another zero, BUT because that column was 'unique' it wouldn't allow another zero and refused the 'Insert'. I proved this by changing the first 'Inserts' entry into the 'Unique' column manually to another 'Integer' then the 'Insert; statement worked one more time.... repeat process above as described and my table allowed another 'Insert'.

Hope this makes sense and helps?.

于 2015-01-10T00:46:15.293 に答える
0

idフィールドが自動インクリメントかどうかわからないので、次のようにテーブルを変更する必要があります。

ALTER TABLE `yourtable`
MODIFY COLUMN `id`  int(11) NULL AUTO_INCREMENT FIRST;
于 2013-05-03T05:53:16.913 に答える