0

ポイントと呼ばれるフィールドを持つmysqlテーブルがあり、その値は19です。次を使用して値を変更すると:

<?php
$con=mysqli_connect("blah", 'blah', 'blah', "blah");
// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

$sql="INSERT INTO Social_points (`points`)
VALUES
('$_POST[Jpoints]')";

if (!mysqli_query($con,$sql))
  {
  die('Error: ' . mysqli_error($con));
  }
echo "1 record added";

mysqli_close($con);
?>

前のページからフォーム データを読み取ると正常に動作しますが、元の値の末尾に値を追加するだけです。たとえば、元の値として 19 があり、フォームに 5 を入力すると、195 に変更されます。任意のアイデア

4

5 に答える 5

1

この仲間を試してみてください

social_points セット ポイントを更新 = convert(varchar(5),points)+'5'

于 2013-07-30T11:00:33.707 に答える
1

これは暗闇の中でのワイルドな刺し傷です。

POST メソッドを使用しているので、AJAX 経由でそのスクリプトを呼び出していると思います。そして、次の推測では、フォームが送信される前に、元の値と新しい値を Javascript で追加している可能性があります。

したがって、Javascript でおそらく起こることは次のとおりです。両方の値を追加する代わりに、それらを連結してから DB に送信し、文字列 (JPoints) として扱います。

私が正しければ、Javascript で両方の値を int にキャストする必要があります。

于 2013-07-30T11:02:00.113 に答える
1

新しいレコードとして値を追加する必要がある場合は、INSERT クエリを使用するか、UPDATE クエリを使用します。

于 2013-07-30T10:58:19.513 に答える
1

UPDATE 構文を使用し、挿入しないでください。

$sql="UPDATE Social_points set (`points`)
VALUES
('$_POST[Jpoints]')";
于 2013-07-30T10:58:31.907 に答える