这是我的php代码(我已经连接到db了):
$result = mysql_query("SHOW TABLE STATUS FROM mydb LIKE 'mytable';");
while ($array = mysql_fetch_array($result)) {
$updatetime = $array['Update_time'];
}
echo $updatetime;
我明白了:
警告:mysql_fetch_array():提供的参数不是有效的MySQL结果资源。
我正在运行MySQL 5.0.89和PHP5。
我不想在表中添加新字段...我想使用表状态...
任何帮助?
谢谢!
答案 0 :(得分:2)
警告:mysql_fetch_array():提供的参数不是有效的MySQL结果资源。
您未向mysql_fetch_array
提供正确的资源。另外,我认为您将$array
和$result
个变量混淆了,请注意my_database
引用,我将在下面解释。
$array = mysql_query("SHOW TABLE STATUS FROM my_database;"); <--here
while ($array = mysql_fetch_array($result)) { <--$result is undefined.
应该是
$result = mysql_query("SHOW TABLE STATUS FROM my_database;");
while ($array = mysql_fetch_array($result)) {
$updatetime = $array['Update_time'];
}
echo $updatetime;
截至目前,关于SHOW TABLE STATUS
您需要在FROM
子句后引用数据库的MySQL语法不正确。
答案 1 :(得分:0)
show table status from后面应该是数据库名称而不是表名:
SHOW TABLE STATUS FROM <DATABASE NAME>
每次执行查询时,都应该在开始使用结果对象之前检查其返回值。
$res= mysql_query("SHOW TABLE STATUS FROM DB;");
if(! $res) {
die('Query failed'.mysql_error());
}
答案 2 :(得分:0)
表格更新时间必须从表格字段 。
中获取答案 3 :(得分:0)
想出来。不确定这是否是完美的方式,但它有效...
$result = mysql_query("SHOW TABLE STATUS FROM mydb LIKE 'mytable';");
foreach ($result as $data) {
$updatetime = $data->Update_time;
}
echo $updatetime;
然后,您可以使用substr。
解析原始时间戳P.S。正如我在为Wordpress做的那样,我将代码专门用于在Wordpress DB中工作......
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;
}