Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.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 mysql检索行值_Php_Mysql - Fatal编程技术网

如何使用php mysql检索行值

如何使用php mysql检索行值,php,mysql,Php,Mysql,源代码: $display = 1004; $result1 = mysql_query("SELECT id, username FROM users where parentid=$diplay"); $resrow = mysql_fetch_row($result1); $g = $resrow[0]; $g1 = $resrow[1]; $g2 = $resrow[3]; -error not display $g3 = $resrow[4]; $g4 = $resrow[5];

源代码:

$display = 1004;
$result1 = mysql_query("SELECT id, username FROM users where parentid=$diplay");
$resrow = mysql_fetch_row($result1); 
$g = $resrow[0]; 
$g1 = $resrow[1]; 
$g2 = $resrow[3]; -error not display
$g3 = $resrow[4];
$g4 = $resrow[5];


echo "ID: $g";
echo "ID: $g2";
echo "ID: $g3";
echo "ID: $g4";
我必须显示1005、1007、1008,但我只能检索$g值:

安:1004丹尼尔

如何显示其他值10071008

桌子

答复:


从mysql查询中,只能获取列
id
username
。您需要修改sql以包含更多列。

从mysql查询中,您只能获取列
id
用户名
。您需要修改sql以包含更多列。

您只需在查询中选择id和用户名,这可能会返回如下数组

array(
    'id'=> 1005
    'username'=> 'name'
)
如果100510071008是1004的孩子。你可能想这样做

while($resrow = mysql_fetch_array( $result1 )){
    echo "ID:". $resrow['id'];
    echo "Name:". $resrow['username'];
}

您只能在查询中选择id和用户名,这可能会返回如下数组

array(
    'id'=> 1005
    'username'=> 'name'
)
如果100510071008是1004的孩子。你可能想这样做

while($resrow = mysql_fetch_array( $result1 )){
    echo "ID:". $resrow['id'];
    echo "Name:". $resrow['username'];
}
您将行与列混淆。在此数据库上:

users
id    | name    |  parentid
------+---------+----------
1004  | daniel  |  1003
1005  | peter   |  1004
1007  | michael |  1004
1008  | sam     |  1004
查询
SELECT id,name FROM users,其中parentid=1004
将返回第1005、1007和1008行

mysql\u fetch\u row()
一次只获取一行。
这是跨
id
name
)的没有下降(几个
id

要获得匹配的所有ID值的列表,您需要遍历所有行:

$parentid = 1004;
$result = mysql_query( "SELECT `id` FROM `users` WHERE `parentid`=$parentid" );
while( $row = mysql_fetch_row( $result ) ){ $IDs[] = $row[0]; }
// $IDs is now an array holding each id from the resultset.
// It will look something like:
/*
array(3) {
 [0]=>
    int(1005)
 [1]=>
    int(1007)
 [2]=>
    int(1008)
}
*/
如上所述,不要在新工作中使用
ext/mysql
。我在这里使用它只是因为你是这样问你最初的问题的。您需要更新代码并使用
ext/mysqli
PDO

您将行与列混淆了。在此数据库上:

users
id    | name    |  parentid
------+---------+----------
1004  | daniel  |  1003
1005  | peter   |  1004
1007  | michael |  1004
1008  | sam     |  1004
查询
SELECT id,name FROM users,其中parentid=1004
将返回第1005、1007和1008行

mysql\u fetch\u row()
一次只获取一行。
这是跨
id
name
)的没有下降(几个
id

要获得匹配的所有ID值的列表,您需要遍历所有行:

$parentid = 1004;
$result = mysql_query( "SELECT `id` FROM `users` WHERE `parentid`=$parentid" );
while( $row = mysql_fetch_row( $result ) ){ $IDs[] = $row[0]; }
// $IDs is now an array holding each id from the resultset.
// It will look something like:
/*
array(3) {
 [0]=>
    int(1005)
 [1]=>
    int(1007)
 [2]=>
    int(1008)
}
*/


如上所述,不要在新工作中使用
ext/mysql
。我在这里使用它只是因为你是这样问你最初的问题的。您需要更新您的代码并使用
ext/mysqli
PDO

您能显示表结构吗?我想即使我确定0,1,4,4,5不是冒号名称。。。您需要在
$resrow['colon name here']
中使用冒号名称,这些值来自哪里<代码>100510071008?身份证姓名家长身份证1004丹尼尔1003,1005彼得1004,1007迈克尔1004,1008山姆1004救生--。它们不再得到维护,并且已经开始使用。看到了吗?相反,学习,并使用or-将帮助您决定哪一个。如果您选择PDO,。您能显示表结构吗?我想即使我确信0,1,4,4,5不是冒号名称。。。您需要在
$resrow['colon name here']
中使用冒号名称,这些值来自哪里<代码>100510071008?身份证姓名家长身份证1004丹尼尔1003,1005彼得1004,1007迈克尔1004,1008山姆1004救生--。它们不再得到维护,并且已经开始使用。看到了吗?相反,学习,并使用or-将帮助您决定哪一个。如果您选择PDO,。我只需要显示id号,如基于parentidi的1005、1007、1008。我只需要显示id号,如基于parentidHi的1005、1007、1008。我必须显示单个值,如$resrow[0]、$resrow[1]、$resrow[2],我只需要显示前3个值。谢谢,@user1799052 noop他是对的。。如果要按自己的意愿获取多行,则需要使用循环,那么为什么要回显ID?要仅显示ID,只需运行循环并仅回显
$resrow['ID']
。只需回显一个分隔符以查看它是否正确<代码>echo$resrow['id'].:'。结果将是
100510071008,
。您好,我必须显示单个值,如$resrow[0]、$resrow[1]、$resrow[2],只有前3个值需要显示。谢谢,@user1799052 noop他是对的。。如果要按自己的意愿获取多行,则需要使用循环,那么为什么要回显ID?要仅显示ID,只需运行循环并仅回显
$resrow['ID']
。只需回显一个分隔符以查看它是否正确<代码>echo$resrow['id'].:'。结果将是
100510071008,
.Hi,回显“$IDs[0]”;回显“$IDs[1]”;这是打印值?的正确方法?。thanksHi,echo“$IDs[0]”;回显“$IDs[1]”;这是打印值?的正确方法?。谢谢