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でより良い応答が得られます。あなたが投稿したものに基づいて、あなたはちょうど「ええ、それは機能していません、私にSOについて尋ねさせてください」と言ったようです

于 2013-03-11T04:04:07.060 に答える