将db中的用户计入相等的用户级别

时间:2013-03-11 03:55:32

标签: php mysql

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

<?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; }
?>

1 个答案:

答案 0 :(得分: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上获得更好的响应。根据你发布的内容,你似乎只是说“呃它不工作让我问SO”