Reputation: 309
I'm new in php function is it possible to use mysqli_fetch_assoc in php function?
here's what I'm doing.
function.php
<?php
function getinfoid($conn,$idapplicant){
$sql = "SELECT * FROM applicants WHERE id_mis = '".$idapplicant."' ";
$result = mysqli_query($conn,$sql);
while ($row = mysqli_fetch_assoc($result)) {
$prefix=$row['prefix'];
$fname1=$row['fname'];
$mname1=$row['mname'];
$lname1=$row['lname'];
$gender=$row['gender'];
$addr=$row['addr'];
}
}
?>
view.php
<?php
require('connection.php');
include ('function.php');
getinfoid($conn,'2');
?>
I'm <?php echo $fname1 ?>
how is it possible to echo $fname1 ?
Upvotes: 1
Views: 122
Reputation: 23958
Assuming you need to print only $fname1
, following is my proposed solution:
You need to return $fname1
from your function.
<?php
function getinfoid($conn,$idapplicant){
$sql = "SELECT * FROM applicants WHERE id_mis = '".$idapplicant."' ";
$result = mysqli_query($conn,$sql);
$row = mysqli_fetch_assoc($result);
return $row['fname'];
}
require('connection.php');
include ('function.php');
$fname1 = getinfoid($conn,'2');
?>
I'm <?php echo $fname1 ?>
Alternatively, you can return whole row from your function like this:
function getinfoid($conn,$idapplicant){
$sql = "SELECT * FROM applicants WHERE id_mis = '".$idapplicant."' ";
$result = mysqli_query($conn,$sql);
return mysqli_fetch_assoc($result);
}
require('connection.php');
include ('function.php');
$useDetails = getinfoid($conn,'2');
?>
I'm <?php echo $useDetails['fname'] ?>
Upvotes: 0
Reputation: 44
<?php
function getinfoid($conn,$idapplicant){
$sql = "SELECT * FROM applicants WHERE id_mis = '".$idapplicant."' ";
$result = mysqli_query($conn,$sql);
$row = mysqli_fetch_assoc($result);
return $row
}
?>
<?php
require('connection.php');
include ('function.php');
$data = getinfoid($conn,'2');
?>
I'm <?php echo $data['firstname'] ?>
Upvotes: 0
Reputation: 1095
You can declare variable $fname1 as global and access the variable. Assuming only single record is returned.
function.php
<?php
$fname1 = "";
function getinfoid($conn,$idapplicant){
global $fname1;
$sql = "SELECT * FROM applicants WHERE id_mis = '".$idapplicant."' ";
$result = mysqli_query($conn,$sql);
while ($row = mysqli_fetch_assoc($result)) {
$prefix=$row['prefix'];
$fname1=$row['fname'];
$mname1=$row['mname'];
$lname1=$row['lname'];
$gender=$row['gender'];
$addr=$row['addr'];
}
}
?>
view.php
<?php
require('connection.php');
include ('function.php');
getinfoid($conn,'2');
?>
I'm <?php echo $fname1 ?>
Upvotes: 0
Reputation: 9430
Your function doesn't return anything, those assigned variables stay in the scope of the function. If there is always just one row to fetch, you can do it like this:
function getinfoid($conn,$idapplicant){
$sql = "SELECT * FROM applicants WHERE id_mis = '".$idapplicant."' ";
$result = mysqli_query($conn,$sql);
return mysqli_fetch_assoc($result);
}
Then you can call this function and echo your variable:
$row = getinfoid($conn,'2');
?>
I'm <?php echo $row['fname'] ?>
Upvotes: 1