Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP在不存在重复行时回显重复行 试验_Php_Mysql_Html - Fatal编程技术网

PHP在不存在重复行时回显重复行 试验

PHP在不存在重复行时回显重复行 试验,php,mysql,html,Php,Mysql,Html,如果不提供第二个参数,则会执行以下操作:获取一个关联数组,其中值映射到列名和列索引 您可以提供MYSQL\u ASSOC作为第二个参数,使其仅具有列名(或使用MYSQL\u fetch\u ASSOC)。如果不提供第二个参数,则会得到一个关联数组,其中值映射到列名和列索引 您可以提供MYSQL\u ASSOC作为第二个参数,使其仅具有列名(或使用MYSQL\u fetch\u ASSOC)。更改 <html> <head> <title>Test</ti

如果不提供第二个参数,则会执行以下操作:获取一个关联数组,其中值映射到列名和列索引

您可以提供
MYSQL\u ASSOC
作为第二个参数,使其仅具有列名(或使用
MYSQL\u fetch\u ASSOC
)。

如果不提供第二个参数,则会得到一个关联数组,其中值映射到列名和列索引

您可以提供
MYSQL\u ASSOC
作为第二个参数,使其仅具有列名(或使用
MYSQL\u fetch\u ASSOC
)。

更改

<html>
<head>
<title>Test</title>
<link rel="stylesheet" type="text/css" href="style.css"> 
</head>
<body>
    <?php 
       $username ="matt";
       $pass = "bs12kfj";
       $db = "mytest";
       $tbl = "test2";
       mysql_connect(localhost,$username,$pass);
       mysql_select_db($db) or die( "Unable to select database");
       $res = mysql_query("SELECT * FROM test2;");
       $num = mysql_numrows($res);
       echo "<table border='2'><tr>The Peeps</tr>"; 
       while ($r = mysql_fetch_array($res)) {
         echo "<tr>";
         foreach($r as $rs){
                     echo "<td>$rs</td>";
                     }
         echo "</tr>";
       }
       ?>

</body>

第二个参数的默认值是
MYSQL\u BOTH
,它返回一个以数字和关联方式索引的数组。或者,您可以使用(返回数字索引数组)或(返回关联数组)代替
mysql\u fetch\u array()

<html>
<head>
<title>Test</title>
<link rel="stylesheet" type="text/css" href="style.css"> 
</head>
<body>
    <?php 
       $username ="matt";
       $pass = "bs12kfj";
       $db = "mytest";
       $tbl = "test2";
       mysql_connect(localhost,$username,$pass);
       mysql_select_db($db) or die( "Unable to select database");
       $res = mysql_query("SELECT * FROM test2;");
       $num = mysql_numrows($res);
       echo "<table border='2'><tr>The Peeps</tr>"; 
       while ($r = mysql_fetch_array($res)) {
         echo "<tr>";
         foreach($r as $rs){
                     echo "<td>$rs</td>";
                     }
         echo "</tr>";
       }
       ?>

</body>


第二个参数的默认值是
MYSQL\u BOTH
,它返回一个以数字和关联方式索引的数组。或者,您可以使用(返回数字索引数组)或(返回关联数组)而不是
mysql\u fetch\u array()

您可能正在以默认模式
mysql\u BOTH
获取mysql结果数组

试试这个:

while ($r = mysql_fetch_array($res, MYSQL_ASSOC)) {

指定
MYSQL\u ASSOC
MYSQL\u NUM
只能分别检索关联值或数字索引值。

您可能正在以默认模式
MYSQL\u BOTH
获取MYSQL结果数组

试试这个:

while ($r = mysql_fetch_array($res, MYSQL_ASSOC)) {
指定
MYSQL\u ASSOC
MYSQL\u NUM
只能分别检索关联值或数字索引值。

简单

如果您的SQL查询是

array(0 => 'field 1 val', 'field1_name'=> 'field 1 val',
      1 => 'field 2 val', 'field2_name'=> 'field 2 val', etc);
然后mysql_fetch_数组返回2个结果。一个带数字索引,一个带字段名。在代码中添加一个print\r($r)以查看行为

解决方案

简单

如果您的SQL查询是

array(0 => 'field 1 val', 'field1_name'=> 'field 1 val',
      1 => 'field 2 val', 'field2_name'=> 'field 2 val', etc);
然后mysql_fetch_数组返回2个结果。一个带数字索引,一个带字段名。在代码中添加一个print\r($r)以查看行为


解决方案

MYSQL_NUM将使用controlfreak123拥有的代码,但这通常是一种不好的方法,因为您永远不应该假设select字段以相同的顺序从数据库中出来。如果您稍微更改一下创建表,或者当您使用SELECT field1、field2而不是*@Anti Veeranna时,
MYSQL_NUM
MYSQL_ASSOC
有什么不同?如果您使用
foreach
对结果进行迭代,MYSQL_NUM将使用controlfreak123拥有的代码,但这通常是一种糟糕的方法,因为您永远不应该假设select字段以相同的顺序从数据库中出来。如果您稍微更改一下创建表,或者当您使用SELECT field1、field2而不是*@Anti Veeranna时,
MYSQL\u NUM
MYSQL\u ASSOC
有什么不同,如果您使用
foreach
对结果进行迭代,则交换MYSQL\u fetch\u数组并替换为MYSQL\u fetch\u ASSOC(如果不另行指定,mysql\u fetch\u数组将同时返回数字和关联)替换掉mysql\u fetch\u数组并替换为mysql\u fetch\u assoc(如果不另行指定,mysql\u fetch\u数组将同时返回数字和关联)
SELECT foo FROM bar