sql >> Databasteknik >  >> RDS >> Mysql

Php - MySQL välj data från tabell och uppdatera sedan samma tabell

Som först:

I din andra SQL-fråga:

$sqla="UPDATE table SET count='$new_count'";

du måste ange vilken/vilka rader du vill uppdatera. För detta måste du använda WHERE klausul.

Till exempel:

$sqla="UPDATE table SET count='$new_count' WHERE id='$id'";

Som tvåa:

Du saknar } i ditt tillstånd, vilket också kan vara problemet. Om jag lägger mellanslag på din kod kommer den att se ut så här:

$sql=mysql_query("SELECT * FROM table WHERE id='$id'");
if($data=mysql_fetch_array($sql))
{
  $count=$data['count'];
  $new_count=$count+1;

  $sqla="UPDATE table SET count='$new_count' WHERE id='$id'";
  if(mysql_query($sqla))
  {
    echo "success";
  }

Är ditt tillstånd (som började på andra raden) slutat med } korrekt?

Som tredje:

Spara utdata från mysql_fetch_array och mysql_query till en variabel och använd sedan denna variabel i dina villkor:

$data = mysql_fetch_array($sql);
if($data) { ...

Och

$result = mysql_query($sqla);
if($result) { ...

Fotnoter:

Det är okänt om tabellnamnet du använder verkligen heter table .

Om det är det, så är det ett reserverat MySQL-ord och det kräver särskild uppmärksamhet, som att slå in det i bockar eller namnge det till något annat än ett reserverat ord.

Dvs:

SELECT * FROM `table`

och

UPDATE `table`

Referens:




  1. Undvik nummerkonflikter med Microsoft SQL-sekvenser

  2. Effektivt val av närmaste (avstånds)post från en databas

  3. Använder tidigare MySQL-datamapp på ny MySQL-installation

  4. Vilken är standardordningen för en lista som returneras från ett Django-filteranrop?