Изменить данные столбца 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>
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