Mysql
 sql >> база данни >  >> RDS >> Mysql

Php - MySQL избира данни от таблица, след което актуализира същата таблица

Като първо:

Във втората ви SQL заявка:

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

трябва да посочите кой ред/редове искате да актуализирате. За това трябва да използвате WHERE клауза.

Например:

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

Като второ:

Липсва Ви } във вашето състояние, което също може да е проблемът. Ако разположа вашия код, той ще изглежда така:

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

Вашето условие (започнало на втори ред) завършва ли с } правилно?

Като трето:

Запазете изхода на mysql_fetch_array и mysql_query към променлива и след това използвайте тази променлива във вашите условия:

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

И

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

Бележки под линия:

Не е известно дали името на таблицата, което използвате, наистина се нарича table .

Ако е така, тогава това е запазена дума на MySQL и изисква специално внимание, като например да я поставите в отметки или да я наименувате с нещо различно от запазена дума.

Т.е.:

SELECT * FROM `table`

и

UPDATE `table`

Справка:




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да добавя повече от един ред със Zend_Db?

  2. Вмъкване на пореден номер в MySQL

  3. Достъп до MySQL база данни от моя VB.NET 2008 проект

  4. MySQL избира думи в кавички в колона от разбъркан текст

  5. Дали оценката на логиката на MySQL е мързелива/късо съединение в клауза JOIN?