0

我想计算我的用户数,然后发送命令来更新不同的表,以更改他们在个人资料上显示的“级别”。这就是我得到的......

<?php
$query = mysql_query("SELECT COUNT(*) FROM 'ow_base_user'.'id' WHERE 'id'") or die (mysql_error());  
$row = mysql_fetch_row($query);
$count = $row[0];
$username = [userid];
$count = "";
$lvl = UPDATE  `founda_Inspire`.`ow_base_authorization_role` SET  `name` =  'empower' WHERE  `ow_base_authorization_role`.`id` =13; }
if ($count >= 2720) { $lvl = UPDATE  `founda_Inspire`.`ow_base_authorization_role` SET  `name` =  'integrity' WHERE  `ow_base_authorization_role`.`id` =18; }
else if ($count >= 625) { $lvl = UPDATE  `founda_Inspire`.`ow_base_authorization_role` SET  `name` =  'honor' WHERE  `ow_base_authorization_role`.`id` =17; }
else if ($count >= 125) { $lvl = UPDATE  `founda_Inspire`.`ow_base_authorization_role` SET  `name` =  'passion' WHERE  `ow_base_authorization_role`.`id` =16; }
else if ($count >= 25) { $lvl = UPDATE  `founda_Inspire`.`ow_base_authorization_role` SET  `name` =  'creative' WHERE  `ow_base_authorization_role`.`id` =15; }
else if ($count >= 5) { $lvl = UPDATE  `founda_Inspire`.`ow_base_authorization_role` SET  `name` =  'inspire' WHERE  `ow_base_authorization_role`.`id` =14; }
?>
4

1 回答 1

1

您上面的代码片段有几个问题,让我们从这里开始..

$query = mysql_query("SELECT COUNT(*) FROM 'ow_base_user'.'id' WHERE 'id'") or die (mysql_error());

上面语句中的 where 子句是空白的,这在 SQL 中是不允许的

在你的片段中,你有

$lvl = UPDATE  `founda_Inspire`.`ow_base_authorization_role` SET  `name` =  'empower' WHERE  `ow_base_authorization_role`.`id` =13; }
if ($count >= 2720) { $lvl = UPDATE  `founda_Inspire`.`ow_base_authorization_role` SET  `name` =  'integrity' WHERE  `ow_base_authorization_role`.`id` =18; }
else if ($count >= 625) { $lvl = UPDATE  `founda_Inspire`.`ow_base_authorization_role` SET  `name` =  'honor' WHERE  `ow_base_authorization_role`.`id` =17; }
else if ($count >= 125) { $lvl = UPDATE  `founda_Inspire`.`ow_base_authorization_role` SET  `name` =  'passion' WHERE  `ow_base_authorization_role`.`id` =16; }
else if ($count >= 25) { $lvl = UPDATE  `founda_Inspire`.`ow_base_authorization_role` SET  `name` =  'creative' WHERE  `ow_base_authorization_role`.`id` =15; }
else if ($count >= 5) { $lvl = UPDATE  `founda_Inspire`.`ow_base_authorization_role` SET  `name` =  'inspire' WHERE  `ow_base_authorization_role`.`id` =14; }

而且你的引号都在错误的地方,所以你的 SQL 字符串没有正确构建

附带说明一下,当您在发布之前努力解决问题时,通常会在 stackoverflow 上获得更好的响应。根据您发布的内容,您似乎只是说“嗯,它不起作用让我问一下”

于 2013-03-11T04:04:07.060 回答