【问题标题】:PHP & MySQL - Echo a List of StringsPHP & MySQL - 回显字符串列表
【发布时间】:2010-08-24 21:32:27
【问题描述】:

我对从 mysql 服务器回显字符串列表的想法感到困惑。过程将如何进行?我想要的格式是这样的:

Name 1
Name 2
Name 3
Name 4

但是每个新名称都在一个新单元格中,我不知道如何从 mysql 服务器收集每个名称。 PHP 对我来说是一门非常新的语言,所以请放轻松:)

【问题讨论】:

    标签: php mysql arrays list


    【解决方案1】:

    查询表,然后循环遍历结果数组,这个例子假设列名是“name”

    $query = “SELECT * FROM table”;
    $showresult = mysql_query($query);
    
    while($results_array = mysql_fetch_assoc($showresult))
    {
      echo "Name ".$results_array["name"];
    }
    

    【讨论】:

    • 有什么方法可以得到包含所有名称的数组的完整列表,而不必一一回显?
    • 我不太清楚你的意思,你可以 print_r($results_array) 在 while 循环内打印每行内的所有内容。 while 循环是必要的,因为它遍历每一行,否则 $results_array 只会获取第一行的值。 :) 起初这可能有点令人困惑,请不要犹豫,继续提问,这就是人们学习的方式
    【解决方案2】:

    至少有三个扩展模块提供对 MySQL 服务器的访问:旧的 php-mysql 模块、MySQL improved modulePDO with its MySQL driver。 Pete 为您提供了一个“旧”MySQL 模块的示例。让我向您展示一个使用 PDO 和 (server-side) prepared statements 的示例:

    <?php
    $pdo = new PDO('mysql:host=localhost;dbname=test', 'localonly', 'localonly');
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    setupTestdata($pdo);
    
    $stmt = $pdo->prepare('SELECT foo FROM soTest WHERE id<?');
    $stmt->execute( array(3) );
    while( false!==($row=$stmt->fetch(PDO::FETCH_ASSOC)) ) {
      echo $row['foo'], "\n";
    }
    
    echo "same statement again, different parameter:\n";
    $stmt->execute( array(5) );
    while( false!==($row=$stmt->fetch(PDO::FETCH_ASSOC)) ) {
      echo $row['foo'], "\n";
    }
    
    function setupTestdata($pdo) {
      $pdo->query('CREATE TEMPORARY TABLE soTest (id int auto_increment, foo varchar(16), primary key(id))');
      $pdo->query("INSERT INTO soTest (foo) VALUES ('nameA'), ('nameB'), ('nameC'), ('nameD'), ('nameE')");
    }
    

    打印

    nameA
    nameB
    same statement again, different parameter:
    nameA
    nameB
    nameC
    nameD
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-02
      • 2014-02-07
      • 2019-04-25
      • 1970-01-01
      • 2015-07-02
      • 2014-01-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多