草庐IT

php - while/if/else 的 echo 问题

coder 2023-10-10 原文

我是一名学习 PHP 和 MySQL 的初学者,已经学习了深入浅出 PHP 和 MySQL 的第 5 章,并且正在尝试一个自制项目,我在其中创建了一个数据库和一个 索引。 php 页面,我可以在其中看到打印出的结果。当我转到我的 index.php 页面时,我看到了 HTML 标题,但 PHP 代码没有打印出我提交的内容。我必须假设我的代码语法是正确的,否则我会得到一个空白页。有人可以告诉我我的编码错误导致没有输出吗?

<?php

$dbc = mysqli_connect(localhost, root, root, itmyfamily);
$query = "SELECT * FROM itsmyfamily ORDER BY last_name ASC, first_name DESC, date ASC";
$data = mysqli_query($dbc, $query);
$i = 0;

while ($row = mysqli_fetch_array($data))
{
    if ($i == 0)
    {
        echo '<strong>First Name:</strong> ' . $row['first_name'] . ' <br />';
        echo '<strong>Last Name:</strong> ' . $row['last_name'] . ' <br />';
        echo '<strong>Spouse Name:</strong> ' . $row['spouse_name'] . ' <br />';
        echo '<strong>Email:</strong> ' . $row['email'] . ' <br />';
    }
    else
    {
        echo 'There is no info in the database';
    }
    $i++;
}

mysqli_close($dbc);

最佳答案

将此设置在源代码之上以显示错误。

<?php error_reporting( E_ALL ); ?>

或者在php.ini中设置display_erros如下:

display_errors = On

error_reporting = E_ALL | E_STRICT

也尝试用以下内容替换您的源代码,

<?php

  //Establish connection with database

  $dbc = mysqli_connect(localhost,root,root,itmyfamily);

  //Order the data to be retrieved

  $query = "SELECT * FROM itsmyfamily ORDER BY last_name ASC, first_name DESC, date ASC";

  //Execute the connect command and the query 

$data = mysqli_query($dbc,$query);


  while ($row = mysqli_fetch_array($data)) {

//Loop through the array of family submissions, formatting it as html

  $i = 0;

  //Display family submissions

    if ($i == 0) {

    echo '<strong>First Name:</strong> ' .$row['first_name']. ' <br />';
    echo '<strong>Last Name:</strong> ' .$row['last_name']. ' <br />';
    echo '<strong>Spouse Name:</strong> ' .$row['spouse_name']. ' <br />';
    echo '<strong>Email:</strong> ' .$row['email']. ' <br />';

}
    else{
        echo 'There is no info in the database';       
  }
  $i++;


  }


    mysqli_close($dbc);

  ?>

如果你能这样写,我想你甚至不需要$i

$result = mysql_query("SELECT id, first_name FROM mytable");

if($result){

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
    printf("ID: %s  Name: %s", $row["id"], $row["first_name"]);
}

}
else
 echo 'There is no info in the database'; 

阅读此处了解有关 PHP mysql_fetch_array http://www.php.net/mysql_fetch_array 的更多信息

阅读此处了解有关迭代的更多信息。 http://webcheatsheet.com/php/loops.php

请注意,您使用的方法已从 PHP 5.5.0 开始弃用。所以我建议你考虑mysqli或者PDO。可以在下面的 PHP 手册链接中找到示例

http://www.php.net/manual/en/mysqli.query.php

http://www.php.net/manual/en/pdo.query.php

关于php - while/if/else 的 echo 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23332264/

有关php - while/if/else 的 echo 问题的更多相关文章

  1. ruby - 在 64 位 Snow Leopard 上使用 rvm、postgres 9.0、ruby 1.9.2-p136 安装 pg gem 时出现问题 - 2

    我想为Heroku构建一个Rails3应用程序。他们使用Postgres作为他们的数据库,所以我通过MacPorts安装了postgres9.0。现在我需要一个postgresgem并且共识是出于性能原因你想要pggem。但是我对我得到的错误感到非常困惑当我尝试在rvm下通过geminstall安装pg时。我已经非常明确地指定了所有postgres目录的位置可以找到但仍然无法完成安装:$envARCHFLAGS='-archx86_64'geminstallpg--\--with-pg-config=/opt/local/var/db/postgresql90/defaultdb/po

  2. ruby - 通过 rvm 升级 ruby​​gems 的问题 - 2

    尝试通过RVM将RubyGems升级到版本1.8.10并出现此错误:$rvmrubygemslatestRemovingoldRubygemsfiles...Installingrubygems-1.8.10forruby-1.9.2-p180...ERROR:Errorrunning'GEM_PATH="/Users/foo/.rvm/gems/ruby-1.9.2-p180:/Users/foo/.rvm/gems/ruby-1.9.2-p180@global:/Users/foo/.rvm/gems/ruby-1.9.2-p180:/Users/foo/.rvm/gems/rub

  3. ruby - 通过 RVM (OSX Mountain Lion) 安装 Ruby 2.0.0-p247 时遇到问题 - 2

    我的最终目标是安装当前版本的RubyonRails。我在OSXMountainLion上运行。到目前为止,这是我的过程:已安装的RVM$\curl-Lhttps://get.rvm.io|bash-sstable检查已知(我假设已批准)安装$rvmlistknown我看到当前的稳定版本可用[ruby-]2.0.0[-p247]输入命令安装$rvminstall2.0.0-p247注意:我也试过这些安装命令$rvminstallruby-2.0.0-p247$rvminstallruby=2.0.0-p247我很快就无处可去了。结果:$rvminstall2.0.0-p247Search

  4. ruby - Fast-stemmer 安装问题 - 2

    由于fast-stemmer的问题,我很难安装我想要的任何ruby​​gem。我把我得到的错误放在下面。Buildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingfast-stemmer:ERROR:Failedtobuildgemnativeextension./System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/rubyextconf.rbcreatingMakefilemake"DESTDIR="cleanmake"DESTDIR=

  5. ruby - 安装 Ruby 时遇到问题(无法下载资源 "readline--patch") - 2

    当我尝试安装Ruby时遇到此错误。我试过查看this和this但无济于事➜~brewinstallrubyWarning:YouareusingOSX10.12.Wedonotprovidesupportforthispre-releaseversion.Youmayencounterbuildfailuresorotherbreakages.Pleasecreatepull-requestsinsteadoffilingissues.==>Installingdependenciesforruby:readline,libyaml,makedepend==>Installingrub

  6. ruby-on-rails - `a ||= b` 和 `a = b if a.nil 之间的区别? - 2

    我正在检查一个Rails项目。在ERubyHTML模板页面上,我看到了这样几行:我不明白为什么不这样写:在这种情况下,||=和ifnil?有什么区别? 最佳答案 在这种特殊情况下没有区别,但可能是出于习惯。每当我看到nil?被使用时,它几乎总是使用不当。在Ruby中,很少有东西在逻辑上是假的,只有文字false和nil是。这意味着像if(!x.nil?)这样的代码几乎总是更好地表示为if(x)除非期望x可能是文字false。我会将其切换为||=false,因为它具有相同的结果,但这在很大程度上取决于偏好。唯一的缺点是赋值会在每次运行

  7. ruby - ruby 中有 each_if 吗? - 2

    假设我在Ruby中有这个each循环。@list.each{|i|putsiifi>10breakend}我想循环遍历列表直到满足条件。这让我感到“不像Ruby”,因为我是Ruby的新手,是否有Ruby方法可以做到这一点? 最佳答案 您可以使用Enumerable#detect或Enumerable#take_while,取决于您想要的结果。@list.detect{|i|putsii>10}#Returnsthefirstelementgreaterthan10,ornil.正如其他人所指出的,更好的风格是先进行子选择,然后再对其

  8. java - 从 JRuby 调用 Java 类的问题 - 2

    我正在尝试使用boilerpipe来自JRuby。我看过guide从JRuby调用Java,并成功地将它与另一个Java包一起使用,但无法弄清楚为什么同样的东西不能用于boilerpipe。我正在尝试基本上从JRuby中执行与此Java等效的操作:URLurl=newURL("http://www.example.com/some-location/index.html");Stringtext=ArticleExtractor.INSTANCE.getText(url);在JRuby中试过这个:require'java'url=java.net.URL.new("http://www

  9. ruby-on-rails - 简单的 Ruby on Rails 问题——如何将评论附加到用户和文章? - 2

    我意识到这可能是一个非常基本的问题,但我现在已经花了几天时间回过头来解决这个问题,但出于某种原因,Google就是没有帮助我。(我认为部分问题在于我是一个初学者,我不知道该问什么......)我也看过O'Reilly的RubyCookbook和RailsAPI,但我仍然停留在这个问题上.我找到了一些关于多态关系的信息,但它似乎不是我需要的(尽管如果我错了请告诉我)。我正在尝试调整MichaelHartl'stutorial创建一个包含用户、文章和评论的博客应用程序(不使用脚手架)。我希望评论既属于用户又属于文章。我的主要问题是:我不知道如何将当前文章的ID放入评论Controller。

  10. 【高数】用拉格朗日中值定理解决极限问题 - 2

    首先回顾一下拉格朗日定理的内容:函数f(x)是在闭区间[a,b]上连续、开区间(a,b)上可导的函数,那么至少存在一个,使得:通过这个表达式我们可以知道,f(x)是函数的主体,a和b可以看作是主体函数f(x)中所取的两个值。那么可以有,  也就意味着我们可以用来替换 这种替换可以用在求某些多项式差的极限中。方法: 外层函数f(x)是一致的,并且h(x)和g(x)是等价无穷小。此时,利用拉格朗日定理,将原式替换为 ,再进行求解,往往会省去复合函数求极限的很多麻烦。使用要注意:1.要先找到主体函数f(x),即外层函数必须相同。2.f(x)找到后,复合部分是等价无穷小。3.要满足作差的形式。如果是加

随机推荐