Php mysql_fetch_assoc()希望参数1是资源,在
我关注这个主题是因为我有同样的问题(不能使用命令shell,只需编辑文件主机)-> 第一次运行SQLPhp mysql_fetch_assoc()希望参数1是资源,在,php,mysql,Php,Mysql,我关注这个主题是因为我有同样的问题(不能使用命令shell,只需编辑文件主机)-> 第一次运行SQL CREATE TABLE `php_cron` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `last_ts` datetime DEFAULT NULL, PRIMARY KEY (`id`) ); INSERT INTO `php_cron` (`id`, `last_ts`) VALUES (1,'2012-08-10 0
CREATE TABLE `php_cron` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`last_ts` datetime DEFAULT NULL,
PRIMARY KEY (`id`)
);
INSERT INTO `php_cron` (`id`, `last_ts`) VALUES (1,'2012-08-10 00:00:00');
还有我的密码
$res1 = mysql_query("SELECT TIME_TO_SEC(TIMEDIFF(NOW(), last_ts)) AS tdif FROM php_cron WHERE id=1");
$dif = mysql_fetch_assoc($dif['tdif']);
if ($dif >= 86400) { //24h
//following code will run once every 24h
//update user's page rank
$sql2 = "UPDATE logs_limitbandwidthtoday SET BandwidthToday = 0";
mysql_query($sql2);
$sql23 = "UPDATE logs_limitlinktoday SET LimitLink = 0";
mysql_query($sql23);
$sql24 = "UPDATE logs_limitvipbw SET BandwidthToday = 0";
mysql_query($sql24);
$sql25 = "UPDATE logs_limitviplink SET LimitLink = 0";
mysql_query($sql25);
$sql26 = "UPDATE account_vip SET ALLTime = ALLTime - 1 WHERE ALLTime > 0";
mysql_query($sql26);
//update last execution time
$sql3 = "UPDATE php_cron SET last_ts = NOW() WHERE id=1";
mysql_query($sql3);
}
错误->PHP警告:mysql\u fetch\u assoc()希望参数1是资源,在/…中给出空值。。。。在线2
我不确定这个代码是否仍然有效,请回答我这个问题。非常感谢你 好,这应该可以解决问题
$dif = mysql_fetch_assoc($res1);
$dif1 = $dif['tdif'];
if ($dif1 >= 86400) {
但是由于mysql已经过时,并且已经从PHP7.0中删除,所以更新的代码应该是这样的
$res1 = mysqli_query($con,"SELECT TIME_TO_SEC(TIMEDIFF(NOW(), last_ts)) AS tdif FROM php_cron WHERE id=1");
$dif = mysqli_fetch_assoc($res1);
$dif1 = $dif['tdif'];
if ($dif1 >= 86400) {
//following code will run once every 24h
//update user's page rank
$sql2 = "UPDATE logs_limitbandwidthtoday SET BandwidthToday = 0";
mysqli_query($con,$sql2);
$sql23 = "UPDATE logs_limitlinktoday SET LimitLink = 0";
mysqli_query($sql23);
$sql24 = "UPDATE logs_limitvipbw SET BandwidthToday = 0";
mysqli_query($con,$sql24);
$sql25 = "UPDATE logs_limitviplink SET LimitLink = 0";
mysqli_query($con,$sql25);
$sql26 = "UPDATE account_vip SET ALLTime = ALLTime - 1 WHERE ALLTime > 0";
mysqli_query($con,$sql26);
//update last execution time
$sql3 = "UPDATE php_cron SET last_ts = NOW() WHERE id=1";
mysqli_query($con,$sql3);
}
其中$con是您与数据库建立的连接
$server='localhost';//your host name
$user_name='root';//your mysql user name which is root by default
$password='';//your mysql password which is blank by default
$database='db';//your database name
$con=mysqli_connect($server,$user_name,$password,$database);
$dif=mysql\u fetch\u assoc($res1);如果没有$res1['tdif']->['tdif'],这可能会工作$dif=mysql\u fetch\u assoc($res1)$dif1=$dif['tdif'];如果($dif1>=86400){那么代码将像这样完美地工作,对吗@ArjanShrestha?->应该是这样。@TamVao