所以我有表格:
<form method="post">
Name: <input type="text" name="name" value<? if(isset($_GET['edit'])) {echo '="'. person($_GET['edit']) .'"';} ?>/><br>
Surname: <input type="text" name="surname" value<? if(isset($_GET['edit'])) {echo '="'. person($_GET['edit']) .'"';} ?>/><br>
Age: <input type="text" name="age" value<? if(isset($_GET['edit'])) {echo '="'. person($_GET['edit']) .'"';} ?>/><br>
<input type="submit" value="Submit" name="submit"/>
</form>
和
function person($id) {
$query = 'SELECT name, sname, age FROM persons WHERE ID='.$id.';';
$result = mysql_query($query);
return $row = mysql_fetch_row($result);
}
所以函数返回一个数组,如何从这个函数中获取只显示我:每个输入值中的'name'/'sname'/'age'
答案 0 :(得分:4)
首先使用mysql_fetch_assoc来使用字母键。
然后你可以在最新版本的PHP中这样做:
person($id)['name']
或者在旧版本的PHP中定义单独的数组:
$personData = person($id);
$name = $personData['name'];
答案 1 :(得分:0)
它就像一个普通的数组,所以你可以使用[id]。如果使用mysql_fetch_row,则必须是从0到n-1的数字,其中n是数组中的项目数,以便您在查询中执行。如果你有mysql_fetch_assoc你可以使用$ test ['name'],$ test ['sname'],$ test ['age']。
$test = person(5);
echo $test[0].$test[1].$test[2]; //will show name|sname|age (withouth '|').
答案 2 :(得分:0)
$per=person('12');
获取姓名,sname,年龄
$per[0] for name, $per[1] for sname and $per[2] for age;
答案 3 :(得分:0)
$data = person($id);
$name = $data['name'];
但是你应该在你的sql语句中使用它们之前转义你的参数! 至少做一些事情:
<?php $_GET['edit'] = mysql_real_escape_string($_GET['edit']); ?>
<form method="post">
Name: <input type="text" name="name" value<? if(isset($_GET['edit'])) {echo '="'.person($_GET['edit']) .'"';} ?>/><br>
......