PHP - masa durumundan güncelleme süresini almak için SQL sorgusu

4 Cevap php

Bu (zaten db bir bağlantı var) benim php kodu:

$result = mysql_query("SHOW TABLE STATUS FROM mydb LIKE 'mytable';");
     while ($array = mysql_fetch_array($result)) {
          $updatetime = $array['Update_time'];
     }

echo $updatetime;

Alıyorum:

Warning: mysql_fetch_array (): verilen argüman geçerli MySQL result resource değildir.

Ben MySQL 5.0.89 ve PHP5 çalıştırıyorum.

Ben tabloya yeni bir alan eklemek istemiyorum ... Ben tablo durumunu kullanmak istiyorum ...

Herhangi bir yardım?

Teşekkürler!

4 Cevap

Bunu anladım. Bu mükemmel bir yoldur, ama çalışıyor emin eğer ...

$result = mysql_query("SHOW TABLE STATUS FROM mydb LIKE 'mytable';");
foreach ($result as $data) {
    $updatetime = $data->Update_time;
}

echo $updatetime;

Daha sonra substr ile ham damgası ayrıştırmak.

P.S. Ben Wordpress için bu çalışmaları yaparken, ben Wordpress DB çalışan için özel kod dahil ediyorum ...

global $wpdb;
define('FOO_TABLE', $table_prefix."footable");

$result = $wpdb->get_results("SHOW TABLE STATUS LIKE '".FOO_TABLE."';");
foreach ($result as $data) {
  $updatetime = $data->Update_time;
}

Warning: mysql_fetch_array (): verilen argüman geçerli MySQL result resource değildir.

Sen mysql_fetch_array için right kaynak arz etmedi. Ayrıca, ben size $array ve karışık $result değişkenler olduğuna inanıyorum, ve ben aşağıda anlatacağım my_database başvuru unutmayın.

$array = mysql_query("SHOW TABLE STATUS FROM my_database;"); <--here
     while ($array = mysql_fetch_array($result)) { <--$result is undefined.

Yerine olmalıdır

$result = mysql_query("SHOW TABLE STATUS FROM my_database;");
     while ($array = mysql_fetch_array($result)) {
          $updatetime = $array['Update_time'];
     }

echo $updatetime;

Şu an itibariyle, MySQL sözdizimi SHOW TABLE STATUS you need to reference your database after your FROM madde açısından doğru değildir.

show table status veritabanı adı değil tablo adıyla takip edilmelidir:

SHOW TABLE STATUS FROM <DATABASE NAME>

Devam edin ve sonuç nesnesini kullanmaya başlamadan önce ayrıca bir sorguyu yürütmek her zaman, her zaman dönüş değerini kontrol etmelisiniz.

$res= mysql_query("SHOW TABLE STATUS FROM DB;");
if(! $res) {
 die('Query failed'.mysql_error());
}

Tablo güncelleme zaman tablo alanından alınmalıdır only.