0

我正在尝试从 MySql 表中返回值,并且似乎能够获得除了我需要的所有内容!

PHP:

<?php
session_start();
include('config.php');
$user_check=$_SESSION['login_user'];

$sql_rec = "select UserID from useradmin where username='$user_check' ";
$rs_rec = mysql_query($sql_rec);
$data_rec = mysql_fetch_object($rs_rec);

$userID = $data_rec->UserID; 

$sql_fn = "select * from Candidates where UserID='$userID' ";
$rs_fn = mysql_query($sql_fn);
$row = mysql_fetch_row($rs_fn);
$data_fn = $row['contactno'];

print $sql_fn;
print $data_fn;
print $row;

?>

$sql_fn 给了我正确的结果

$row 给了我 'Array'

但 $data_fn 什么也没给我。

本质上,我正在尝试使用如下结果填充文本字段:

HTML:

<label for="contactno">Contact Number</label> <br> <input type="test" name="contactno" id="contactno" class="input_field" value="<?php echo $row['contactno'];?>"> 

有人可以指出我哪里出错了吗?

谢谢你。

4

4 回答 4

0

打印你的数组的内容,print_r($row);这应该会告诉你你有什么。(我认为 MahanGM 是对的,当您只有一个普通数字时,您会期待一个关联数组)

有关使用 print_r 的更多信息:http: //php.net/manual/en/function.print-r.php

PS:新开发使用mysqli

于 2013-10-20T16:27:24.907 回答
0

我认为你需要这个:

$row = mysql_fetch_array($rs_fn, MYSQL_ASSOC);

并检查您的查询mysql_num_rows($query) > 0以确保它已返回数据,否则您将从mysql_fetch_*.

顺便说一句,不推荐使用 mysql 函数。使用 mysqli 或 PDO 或 pg。

于 2013-10-20T16:29:47.920 回答
0

_fetch_row返回一个索引数组。_fetch_assoc如果您按列名访问,则需要。

此外,要输出数组,请使用var_dump.

于 2013-10-20T16:31:42.983 回答
0

$sql_fn = "select * from Candidates where UserID='$userID'"; 你好呀

您的 UserID 字段的存储方式是整数类型还是字符串,如果它是数字,那么您不需要单引号。你肯定会得到 $sql_fn 因为它只是一个查询字符串。您需要检查返回数组中的内容。检查contactno 是否是表中正确的列名。只需简单地 print_r($row) 就可以看到答案

于 2013-10-20T16:37:13.443 回答