sql >> Database teknologi >  >> RDS >> Mysql

Php - MySQL vælg data fra tabel, og opdater derefter den samme tabel

Som først:

I din anden SQL-forespørgsel:

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

du skal angive, hvilken række/rækker du vil opdatere. Til dette skal du bruge WHERE klausul.

For eksempel:

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

Som anden:

Du mangler } i din tilstand, hvilket også kan være problemet. Hvis jeg placerer din kode mellemrum, vil den se sådan ud:

$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";
  }

Er din tilstand (startet ved anden linje) endt med } korrekt?

Som tredje:

Gem output fra mysql_fetch_array og mysql_query til en variabel, og brug derefter denne variabel i dine betingelser:

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

Og

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

Fodnoter:

Det er ukendt, om det tabelnavn, du bruger, faktisk hedder table .

Hvis det er det, så er det et MySQL-reserveret ord, og det kræver særlig opmærksomhed, som at pakke det ind i flueben eller navngive det til noget andet end et reserveret ord.

Dvs.:

SELECT * FROM `table`

og

UPDATE `table`

Reference:




  1. Maks. sum forespørgsel

  2. Postgresql rekursiv selv joinforbindelse

  3. JdbcPagingItemReader i forårsbatch giver ikke korrekte resultater

  4. Oracle Database TLS1.2 / SSL-forbindelse ved hjælp af JDBC tynd og JKS