jjzjj

php和mysql统计量

coder 2023-10-25 原文

我试图通过口袋妖怪的名称和类型来显示游戏中某个口袋妖怪的数量,(有两种类型正常和 Shiny )我希望它只捕获一种难以解释的类型。 .. 现在它捕获了这两种类型,我不知道为什么这是我的代码:/

$sql23 = "
    SELECT * FROM user_pokemon
    WHERE belongsto='". $_SESSION['username']."'AND (slot='1')
";
$result = mysql_query("
    SELECT * FROM user_pokemon
    WHERE belongsto='". $_SESSION{'username'}."'AND (slot='1')
");
while($row = mysql_fetch_array($result))
{
$sql = "SELECT * FROM pokemon WHERE name='".$row['pokemon']."'";
$result = mysql_query($sql) or die(mysql_error());
$battle_get = mysql_fetch_array($result);

$count = mysql_query("
    SELECT count(*) FROM user_pokemon WHERE pokemon='".$row['pokemon']."
    'AND type='".$row['type']."'
");
$count2 = mysql_fetch_array($count);

老实说,我不明白为什么它不起作用,我们将不胜感激:)

$row['pokemon'] 是小 Sprite 的名字

$row['type'] 是口袋妖怪的类型( Shiny 的,普通的,等等)

user_pokemon 表要求:

Field       Type          Null      Default        Comments
-----------------------------------------------------------
id          int(11)       No                       
hp          int(55)       No        30             
pokemon     varchar(50)   No                       
belongsto   varchar(50)   No                       
exp         int(50)       No        500            
item        varchar(50)   No        No Item        
nickname    varchar(50)   No        No Nickname    
move1       varchar(50)   No        Ember          
move2       varchar(50)   No        Ember          
move3       varchar(50)   No        Ember          
move4       varchar(50)   No        Ember          
slot        int(50)       No                       
level       int(90)       No        5              
time_stamp  timestamp     No        CURRENT_TIMESTAMP
gender      varchar(25)   No        Male           
type        varchar(55)   No        Normal         Type: normal/shiny etc
safari_zone int(10)       No        0              

最佳答案

我经常在 StackOverflow 上看到的一件事是缺少代码格式。在我看来,解决这个问题是让您的代码对您自己(帮助学习)和其他人(在这里帮助您的读者)更具可读性的好方法。它还减少了水平滚动的需要,允许您在屏幕上并排放置多个编辑器。

这是您的代码以及建议的代码格式:

$sql23 = "
    SELECT
        *
    FROM
        user_pokemon
    WHERE
        belongsto = '{$_SESSION['username']}'
        AND (slot = '1')
";
$result = mysql_query($sql23) or die(mysql_error());
while($row = mysql_fetch_array($result))
{
    $sql = "
        SELECT * FROM pokemon WHERE name = '{$row['pokemon']}'
    ";
    $result = mysql_query($sql) or die(mysql_error());
    $battle_get = mysql_fetch_array($result);

    $count = mysql_query("
        SELECT
            COUNT(*)
        FROM
            user_pokemon
        WHERE
            pokemon='{$row['pokemon']}'
            AND type='{$row['type']}'
    ");
    $count2 = mysql_fetch_array($count);
}

这有助于表明您的 while 缺少右大括号,并且变量 $sql23 并未实际使用。另请注意,您可以在双引号字符串中使用内联数组值,方法是将它们用大括号括起来。

如评论中所述,您应该升级到 PDO 或 mysqli。此外,如果值来自用户,请小心将值直接注入(inject) SQL,因为这可能导致 SQL 注入(inject)漏洞。检查查询参数化,或至少清除污染,以确保您的代码安全。

关于php和mysql统计量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14170067/

有关php和mysql统计量的更多相关文章

  1. 使用canal同步MySQL数据到ES - 2

    文章目录一、概述简介原理模块二、配置Mysql使用版本环境要求1.操作系统2.mysql要求三、配置canal-server离线下载在线下载上传解压修改配置单机配置集群配置分库分表配置1.修改全局配置2.实例配置垂直分库水平分库3.修改group-instance.xml4.启动监听四、配置canal-adapter1修改启动配置2配置映射文件3启动ES数据同步查询所有订阅同步数据同步开关启动4.验证五、配置canal-admin一、概述简介canal是Alibaba旗下的一款开源项目,Java开发。基于数据库增量日志解析,提供增量数据订阅&消费。Git地址:https://github.co

  2. ruby-on-rails - 无法安装 mysql2 0.3.14 gem - 2

    我看到其他人也遇到过类似的问题,但没有一个解决方案对我有用。0.3.14gem与其他gem文件一起存在。我已经完全按照此处指示完成了所有操作:https://github.com/brianmario/mysql2.我仍然得到以下信息。我不知道为什么安装程序指示它找不到include目录,因为我已经检查过它存在。thread.h文件存在,但不在ruby​​目录中。相反,它在这里:C:\RailsInstaller\DevKit\lib\perl5\5.8\msys\CORE\我正在运行Windows7并尝试在Aptana3中构建我的Rails项目。我的Ruby是1.9.3。$gemin

  3. ruby - 如何使用 ruby​​ mysql2 执行事务 - 2

    我已经开始使用mysql2gem。我试图弄清楚一些基本的事情——其中之一是如何明确地执行事务(对于批处理操作,比如多个INSERT/UPDATE查询)。在旧的ruby-mysql中,这是我的方法:client=Mysql.real_connect(...)inserts=["INSERTINTO...","UPDATE..WHEREid=..",#etc]client.autocommit(false)inserts.eachdo|ins|beginclient.query(ins)rescue#handleerrorsorabortentirelyendendclient.commi

  4. ruby-on-rails - 这个 C 和 PHP 程序员如何学习 Ruby 和 Rails? - 2

    按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。我来自C、php和bash背景,很容易学习,因为它们都有相同的C结构,我可以将其与我已经知道的联系起来。然后2年前我学了Python并且学得很好,Python对我来说比Ruby更容易学。然后从去年开始,我一直在尝试学习Ruby,然后是Rails,我承认,直到现在我还是学不会,讽刺的是那些打着简单易学的烙印,但是对于我这样一个老练的程序员来说,我只是无法将它

  5. ruby-on-rails - 当我通过 rvm 使用 rails3 时,如何在 ubuntu 上安装 mysql2 gem? - 2

    我正在尝试绕过rails配置这个极其复杂的迷宫。到目前为止,我设法在ubuntu上设置了rvm(出于某种原因,ruby在ubuntu存储库中已经过时了)。我设法建立了一个Rails项目。我希望我的测试项目使用mysql而不是mysqlite。当我尝试“rakedb:migrate”时,出现错误:“!!!缺少mysql2gem。将其添加到您的Gemfile:gem'mysql2'”当我尝试“geminstallmysql”时,出现错误,告诉我需要为安装命令提供参数。但是,参数列表很大,我不知道该选择哪些。如何通过在ubuntu上运行的rvm和mysql获取rails3?谢谢。

  6. ruby - 如何获取我的 Sinatra 应用程序的代码覆盖率统计信息? - 2

    我编写了一个Sinatra应用程序(网站),我想收集网站代码的代码覆盖率信息。我是Ruby的新手,但Google告诉我rcov是一个很好的代码覆盖工具。不幸的是,我在网上可以找到的所有信息只显示了如何获取有关测试用例的代码覆盖率信息-我想要有关我的站点本身的代码覆盖率信息。我想要分析的特定站点文件位于“sdk”和“sdk/vendor”目录中,因此我通常使用“rubysite.rb”运行我的站点的地方我改为尝试以下操作:rcov-Isdk-Isdk/vendorsite.rb它显示了Sinatra启动文本,但随后立即退出,而不是像我的Sinatra应用程序通常那样等待网络请求。有人能告

  7. ruby-on-rails - 收集 Rails 应用程序使用统计信息的最佳方式 - 2

    我有一个Rails应用程序,用户可以在其中设置他们的域并在其中发布内容。我需要收集公共(public)流量统计信息,例如网页浏览量等。此功能的一个很好的例子是我作为客户可以看到的flickr使用统计信息。问题是收集使用信息的最佳方式是什么。应该通过解析日志文件来完成还是应该在运行时收集并存储在数据库中?是否有任何工具或Rails插件已经提供了此功能?此解决方案应该可以很好地扩展,即使每月有数千个域和数百万次网页浏览。 最佳答案 GoogleAnalytics可能是您最好的选择... 关于

  8. Centos7-yum安装mysql-修改密码-无密码登录-安全配置 - 2

    目录1、yum安装mysql修改密码(1)在mysql里面修改(2)第二种方式,利用mysqladmin修改密码2、没有密码,登录mysql修改密码3、mysql的安全设置1、yum安装mysql在CentOS中默认安装有MariaDB(MySQL的一个分支),安装完成之后可以直接覆盖MariaDB。rpm-qa|grepmariadb查询是否安装了mariadbrpm-e--nodepsmariadb-libs-5.5.60-1.el7_5.x86_64卸载mariadwgethttp://dev.mysql.com/get/mysql57-community-release-el7-11.

  9. ruby - 安装 dm-mysql-adapter 时出错 - 2

    我是Ruby的新手。我安装了DataMapper并且正在尝试安装dm-mysql-adapter-1.0.2gem。但是当我尝试安装时,出现以下错误。我正在使用ubuntu操作系统。vinoth@vinoth-laptop:~/Downloads$geminstalldm-mysql-adapter-1.0.2----with-mysql-lib=/usr/lib/mysql----with-mysql-conf=/usr/bin/mysqlWARNING:Installingto~/.gemsince/home/vinoth/gemsand/home/vinoth/gems/bina

  10. ruby-on-rails - gem 列表中的 mysql2 gem 但获取项目找不到 gem - 2

    我目前正在构建一个需要mysql2gem的RoR项目。我成功安装了gem。因为它出现在我的gem列表中。[root@vc2cmmka035538nsimple_cms]#gemlist***LOCALGEMS***actionmailer(3.2.3)actionpack(3.2.3)activemodel(3.2.3)activerecord(3.2.3)activeresource(3.2.3)activesupport(3.2.14,3.2.3)arel(3.0.2)bigdecimal(1.1.0)builder(3.2.2,3.0.0)bundler(1.1.5)c2c_li

随机推荐