Php 将数据库中的用户计数为相等的用户级别
我想计算我的用户数,然后发送一个命令来更新不同的表,以更改其配置文件上显示的“级别”。这是我得到的Php 将数据库中的用户计数为相等的用户级别,php,mysql,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
<?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; }
?>
上面的代码片段有几个问题,让我们从这里开始
$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上得到更好的响应。根据您发布的内容,您似乎刚刚说了“呃,它不起作用,让我问一下吧”请在$lvl
的值周围加引号。此外,您还有一些其他语法错误。语法突出显示没有告诉您出了什么问题吗?