如何在mysqli bind_param中使用(不能处理我的代码)?

Why i select incorrecr row mysqli php ?

Table : test

https://i.imgur.com/vM9Uy7P.jpg

This is my old code, it's work good.

<?PHP
$query = "SELECT * FROM test WHERE test = '9' order by id desc";
$result = mysqli_query($db_mysqli, $query);
while($row = mysqli_fetch_assoc($result))
{
    $id = $row['id'];
    echo $id;
}
?>

When update my code like. It's not echo anything.

<?PHP
$test = "9";
$sql = 'SELECT * FROM test WHERE test != ? order by id desc';
$statement = $db_mysqli->prepare($sql);
$statement->bind_param('s', $test);
$statement->execute();
$result = $statement->get_result();
while($row = $result->fetch_array(MYSQLI_ASSOC))
{
    $id = $row['id'];
    echo $id;
}
?>

How can i do ?

The problem is with your query

$sql = 'SELECT * FROM test WHERE test != ? order by id desc';

it should be

$sql = 'SELECT * FROM test WHERE test = ? order by id desc';

appending ! in front of test!=? you will get list of all ids where test is not equals to 9 ... i checked your code and it is working fine

    <?php
$db_mysqli = mysqli_connect('localhost','root','yourpassword','test');
$test = "9";
$sql = 'SELECT * FROM test WHERE test = ? order by id desc';
$statement = $db_mysqli->prepare($sql);
$statement->bind_param('s', $test);
$statement->execute();
$result = $statement->get_result();
while($row = $result->fetch_array(MYSQLI_ASSOC))
{
    $id = $row['id'];
    echo $id;
}
?>