Ищете хороший учебник по обновлению базы данных mysql с использованием php-формы?
Обновление данных может быть довольно простым. Начнем с формы, для начала:
<form method="post" action="submit.php"> <input type="text" name="id" value="12" /> <input type="text" name="value" value="Jonathan" /> <input type="submit" /> </form>
Эта форма отправит данные на наш скрипт submit.php
где мы сможем его обработать и передать в нашу базу данных. Поскольку наш метод формы – «сообщение», все наши значения будут отправляться через супер-массив POST
в PHP (это не тот случай, если вы используете загрузчики файлов). Таким образом, на нашей странице submit.php
мы можем напечатать значения ID и Value следующим образом:
print $_POST["id"]; // the name of the HTML element is the key print $_POST["value"]; // again, note that we use the name as the key
Вы хотите быть осторожным в передаче переданных пользователем значений непосредственно в свои запросы, поэтому приятно очищать данные с помощью функции, такой как mysql_real_escape_string()
:
$id = mysql_real_escape_string( $_POST["id"] ); $value = mysql_real_escape_string( $_POST["value"] );
Следующее, что нам нужно сделать, это поместить их в запрос:
$sql = "UPDATE mytable SET value = '{$value}' WHERE id = {$id}";
Хорошее время не утверждает, что я не рекомендую вам использовать этот примерный код в живой среде. Вы захотите найти sql-инъекции и как их избежать. Код, который я предоставляю здесь, является всего лишь примером. После ввода наших значений запрос, который будет запущен, выглядит следующим образом:
UPDATE mytable SET value = 'Jonathan' WHERE id = 12
Теперь, чтобы выполнить это, мы должны быть подключены к базе данных.
$host = "localhost"; $user = "root"; $pass = ""; $database = "myDatabase"; $conn = mysql_connect($host, $user, $pass) or die( mysql_error() ); mysql_select_db($database) or die( mysql_error() );
Все, что мы делаем, это хранение наших учетных данных mysql-user-account в массивах и передача их в функцию connect. Этот код должен быть довольно понятным, но дайте мне знать, если это вообще неясно.
Получив это, вы готовы выполнить свой запрос. Помните, что мы сохранили его в массиве с именем $sql
:
$result = mysql_query( $sql ) or die( mysql_error() );
Вот и все. Ты сделал это! Данные, считая, что ничего не получилось, теперь обновлены в вашей базе данных. Существует множество способов увеличить информацию, предоставленную пользователю через этот скрипт. Также стоит отметить, что вы захотите дезинфицировать свои данные, прежде чем разрешить запуск скрипта – если это недопустимые данные (кто-то пытается ввести свои собственные запросы), вы захотите их отбросить.
Ознакомьтесь с функциями MySQL в документации PHP для получения дополнительных преимуществ и не забудьте вернуться сюда, когда у вас появятся более конкретные вопросы!