Обновление базы данных в 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, но я не уверен, кто-нибудь поможет мне.

Author: Juan Pinzón, 2016-05-31

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);

И проверьте, обновляется ли поле, которое вы хотите.

 3
Author: Juan Pinzón, 2016-05-31 21:39:11