Как использовать в mysqli bind_param (не работает над моим кодом)?
Почему я выбираю incorrecr строку mysqli php?
Таблица: тест
https://i.imgur.com/vM9Uy7P.jpg
Это мой старый код, он хорошо работает.
<?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;
}
?>
Когда обновить мой код, как. Это не эхо ничего.
<?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;
}
?>
Как я могу сделать?
1 ответ
Проблема с вашим запросом
$sql = 'SELECT * FROM test WHERE test != ? order by id desc';
так должно быть
$sql = 'SELECT * FROM test WHERE test = ? order by id desc';
добавление! перед тестом!=? вы получите список всех идентификаторов, где тест не равен 9 ... я проверил ваш код, и он работает нормально
<?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;
}
?>