0

I'm trying to get whether name exists in my array that I have acquired from my database table. The array contains the whole name field of the table members However,on using in_array() function, the result for any search is always false

Here is how the array looks like

    Array ( [0] => Array ( [name] => Jane ) 
            [1] => Array ( [name] => Kelvin ) 
            [2] => Array ( [name] => James ) 
            [3] => Array ( [name] => Leon ) 
            [4] => Array ( [name] => Steve ) 
            [5] => Array ( [name] => Jenifer ) 
           ) 

And here is my php code to check if a name exists

<?php

    require_once 'databaseconn.php'; 
    #To get connection
    $mysqli = new mysqli($db_hostname, $db_username, $db_password,$db_database);
    #To get array of names from my database
    $stmt = $mysqli-> prepare('SELECT name FROM members WHERE id');
    $stmt->execute();
    $result = $stmt->get_result();
    #To store result as array in variable $application_names
    while ($row = $result->fetch_assoc()) {
        $member_names[] = $row;
    }
    #To test if name exists
    $name = "Jane";

    if (in_array($name, $member_names))
    {
    echo "Match found";
    }
    else
    {
    echo "Match not found";
    }

?>
2
  • where is $member_names defined? Commented May 22, 2019 at 10:26
  • Hint: if (in_array($name, array_coumn($member_names, "Name"))) Commented May 22, 2019 at 10:28

1 Answer 1

0
<?php

    require_once 'databaseconn.php'; 
    #To get connection
    $mysqli = new mysqli($db_hostname, $db_username, $db_password,$db_database);
    #To get array of names from my database
    $stmt = $mysqli-> prepare('SELECT name FROM members WHERE id');
    $stmt->execute();
    $result = $stmt->get_result();
    #To store result as array in variable $application_names
    while ($row = $result->fetch_assoc()) {
        $application_names[] = $row;
    }
    #To test if name exists
    $name = "Jane";

    $flatArr = [];

    foreach ($member_names as $memberArr) {
        if(isset($memberArr['name'])) {
            $flatArr[] = $memberArr['name'];
        }
    }

    if (in_array($name,  $flatArr))
    {
    echo "Match found for: " . $name;
    }
    else
    {
    echo "Match not found for: " . $name;
    }

?>
Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.