Обновление базы данных в mysql с помощью php
Добрый день я пытаюсь изменить состояние поля в моей базе данных, запрос к базе данных хорош, у меня есть что-то вроде этого:
<?php
require_once('../mysqli.php');
$id = $_GET['ped'];
$id = ((int)$id);
$select = "SELECT estado FROM pedidos WHERE id = $id";
$rs = mysqli_query($mysqli,$select);
$reg = mysqli_num_rows($rs);
$estado = $reg[0];
//echo "j".$estado;
if ($estado = 'Logistica') {
$sql = "UPDATE pedidos SET estado='Cartera' WHERE id=$id";
echo "j".$estado;
echo '<script>alert("Estado cambiado")</script>';
}else{
echo '<script>alert("No se encuentra en estado Logistica")</script>';
}
mysqli_close($mysqli);
?>
я думаю, что ошибка в query, но я не уверен, кто-нибудь поможет мне.
1 answers
Вы вызываете неправильную функцию, mysqli_num_rows()
чтобы получить количество строк, которые я выбрасываю ваш query, чтобы вызвать результат, вы должны использовать, например mysqli_fetch_row($rs)
.
Также сравнение должно быть:
if( $estado == "Logistica" )
Так как это:
if( $estado = "Logistica" )
И с этим вы назначаете значение "Logistica" $State.
Тест с использованием:
$reg = mysqli_fetch_row($rs);
$estado = $reg[0];
if ($estado == 'Logistica') {
$sql = "UPDATE pedidos SET estado='Cartera' WHERE id=$id";
echo "j".$estado;
echo '<script>alert("Estado cambiado")</script>';
}else{
echo '<script>alert("No se encuentra en estado Logistica")</script>';
}
Хотя я вижу, что вы все равно не отправляете query для обновления поля, вы просто определяете его в $sql, вы должны назвать этот $ sql в
mysqli_query($mysqli,$sql);
И проверьте, обновляется ли поле, которое вы хотите.