Изменить данные столбца MySQL UPDATE


короче говоря, через PHP ниже, я могу выдавать конкретную информацию уже записаны в столбец в бд, только, что, кроме только "выдавать" данные там, я хотел бы функцию, которая дорабатывает таких сведений нет, что страница была изменена. У меня есть идея, как это сделать, используя следующий код:

if ($action == 'okay') {
$conexao = mysql_query("update settingsMDP set name='$name', version='$version', startacp='$startacp' WHERE id='1'") or die ("Eita.. Deu errado!");
}

, Если они будут видеть, если form action - это "хорошо" тогда, он выполняет ОБНОВЛЕНИЕ, но... Этого не происходит, я не знаю почему.

это PHP.

<?php
// definições de host, database, usuário e senha
$server = "";
$usuario = "";
$banco   = "";
$senha = "";
// conecta ao banco de dados
$conexao = mysql_connect($server, $usuario, $senha);
$conexao = mysql_select_db("$banco",$conexao);
if(!$conexao) {
    echo mysql_error();
    exit;
}

$conexao = mysql_query("select * from settingsMDP");

//********************************************mudei aqui*****************************
$exibe = mysql_fetch_assoc($conexao);

 if (empty($_REQUEST['action'])) $action = ''; else $action = $_REQUEST['action'];
 if ($action == 'okay') {
 $conexao = mysql_query("update settingsMDP set name='$name', version='$version', startacp='$startacp' WHERE id='1'") or die(mysql_error());
}
?>

<form method="post" action="<?php $_PHP_SELF ?>">
    <table width="400" border="0" cellspacing="1" cellpadding="2">
        <tr>
            <td width="100">Nome do MDP: </td>
            <td><input name="name" type="text" id="name" value="<?php echo $exibe["name"]; ?>"></td>
        </tr>
        <tr>
            <td width="100">Versão: </td>
            <td><input name="name" type="text" id="name" value="<?php echo $exibe["version"]; ?>"></td>
        </tr>
        <tr>
            <td width="100">Abertura do painel:</td>
            <td><input name="start_acp" type="text" id="startacp" value="<?php echo $exibe["startacp"]; ?>"></td>
        </tr>
        <tr>
            <td width="100"> </td>
            <td> </td>
        </tr>
        <tr>
            <td width="100"> </td>
            <td><input name="update" type="submit" id="update" value="Salvar"></td>
        </tr>
    </table>
</form>
Author: Maniero, 2014-12-26

1 answers

Я буду играть в то, что я думаю, что это то, что вы хотите. Я собираюсь воспользоваться, чтобы решить некоторые другие проблемы, но не все.

<?php
// definições de host, database, usuário e senha
$server = "";
$usuario = "";
$banco   = "";
$senha = "";
// conecta ao banco de dados
$conexao = mysqli_connect($server, $usuario, $senha);
mysqli_select_db($conexao, $banco);
if(!$conexao) {
    echo mysqli_error();
    exit;
}

if ($_POST["update"] == "Salvar") {
    $name = mysqli_real_escape_string($conexao, $_POST["name"]);
    $version = mysqli_real_escape_string($conexao, $_POST["version"]);
    $startacp = mysqli_real_escape_string($conexao, $_POST["startacp"]);
    $resultado = mysqli_query($conexao, "update settingsMDP set name='$name', version='$version', startacp='$startacp' WHERE id='1'") or die (mysqli_error());
    echo "Gravou";
} else {
    $resultado = mysqli_query($conexao, "select * from settingsMDP");
    $exibe = mysqli_fetch_array($resultado, MYSQLI_ASSOC);
?>

<form method="post">
    <table width="400" border="0" cellspacing="1" cellpadding="2">
        <tr>
            <td width="100">Nome do MDP: </td>
            <td><input name="name" type="text" id="name" value="<?php echo $exibe["name"]; ?>"></td>
        </tr>
        <tr>
            <td width="100">Versão: </td>
            <td><input name="version" type="text" id="version" value="<?php echo $exibe["version"]; ?>"></td>
        </tr>
        <tr>
            <td width="100">Abertura do painel:</td>
            <td><input name="startacp" type="text" id="startacp" value="<?php echo $exibe["startacp"]; ?>"></td>
        </tr>
        <tr>
            <td width="100"> </td>
            <td> </td>
        </tr>
        <tr>
            <td width="100"> </td>
            <td><input name="update" type="submit" id="update" value="Salvar"></td>
        </tr>
    </table>
</form>
<?php
}
?>

Я GitHub для использования в будущем.

Я Не могу проверить, но это что-то.

Уже, что вы используете ту же страницу, чтобы получить данные и обновить, вы должны решить, какой из двух будет делать. Это можно сделать, если кнопка submit, присутствует или нет.

Сделал вызов обеззараживания содержимого, который пришел, чтобы избежать SQL-Инъекция.

Переехал в MySLQi, что является функцией более современной и, что рекомендуется.

Исправил ошибку, невнимательность на имени поля HTML.

Также была путаница с переменной $conexao, приводившая к потере ссылку для подключения. Вы не можете получить reaproveitando переменной таким образом.

Позволяю пламени form и без параметра, который будет вызывать собственный URL-адрес от него.

И я собрала еще некоторые детали. Я еще изменил бы часть вещи в этом коде, но я лучше не возиться слишком много на том, что вы в состоянии сделать, иначе вы заблудитесь. Код качества для использования в производственных бы быть намного лучше, чем этот. Хотя я видел много сайте, работающие здесь дело даже хуже :P

 3
Author: Maniero, 2019-06-17 20:23:45