PHP를 사용하여 데이터베이스의 모든 필드를 한 번에 업데이트

StuBee

데이터베이스에서 하나의 레코드 만 업데이트해야하는 테이블의 링크에서 가져온 양식이 있습니다. 테이블의 일부 세부 정보를 변경하고 제출 버튼을 눌렀을 때 변경하려는 필드뿐만 아니라 데이터베이스의 모든 필드가 변경되었습니다. 아래는 내 양식 코드와 편집중인 테이블입니다.

사용자 코드 편집

<?php

 // since this form is used multiple times in this file, I have made it a function that is easily reusable
 function renderForm($userID, $username, $password, $telephone, $address1, $town, $postcode, $forename, $surname, $email, $error)
 {
 ?>
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
 <html>
 <head>
 <title>Edit User</title>
 </head>
 <body>
 <?php 
 // if there are any errors, display them
 if ($error != '')
 {
 echo '<div style="padding:4px; border:1px solid red; color:red;">'.$error.'</div>';
 }
 ?> 
 
 <form action="" method="post">
 <input type="hidden" name="userID" value="<?php echo $userID; ?>"/>
 <div>
 <p><strong>ID:</strong> <?php echo $userID; ?></p>
 <strong>Username: </strong> <input type="text" name="username" value="<?php echo $username; ?>"/><br/>
 <strong>Password: </strong> <input type="text" name="password" value="<?php echo $password; ?>"/><br/>
 <strong>Telephone: </strong> <input type="text" name="telephone" value="<?php echo $telephone; ?>"/><br/>
 <strong>Address: </strong> <input type="text" name="address1" value="<?php echo $address1; ?>"/><br/>
 <strong>Town: </strong> <input type="text" name="town" value="<?php echo $town; ?>"/><br/>
 <strong>Postcode: </strong> <input type="text" name="postcode" value="<?php echo $postcode; ?>"/><br/>
 <strong>Forename: </strong> <input type="text" name="forename" value="<?php echo $forename; ?>"/><br/>
 <strong>Surname: </strong> <input type="text" name="surname" value="<?php echo $surname; ?>"/><br/>
 <strong>Email: </strong> <input type="text" name="email" value="<?php echo $email; ?>"/><br/>

 <input type="submit" name="submit" value="Edit details">
 </div>
 </form> 
 </body>
 </html> 
 <?php
 }



 // connect to the database
 include "config.php";
 
 // check if the form has been submitted. If it has, process the form and save it to the database
 if (isset($_POST['submit']))
 { 
 // confirm that the 'id' value is a valid integer before getting the form data
 if (is_numeric($_POST['userID']))
 {
 // get form data, making sure it is valid
 $userID = $_POST['userID'];
 $username = $_POST['username'];
 $password = $_POST['password'];
 $telephone = $_POST['telephone'];
 $address1 = $_POST['address1'];
 $town = $_POST['town'];
 $postcode = $_POST['postcode'];
 $forename = $_POST['forename'];
 $surname = $_POST['surname'];
 $email = $_POST['email'];
 
 // check that firstname/lastname fields are both filled in
 if ($username == '' || $password == '' || $telephone == '' || $address1 == '' || $town == '' || $postcode == '' || $forename == '' || $surname == '' || $email == '' )
 {
 // generate error message
 $error = 'ERROR: Please fill in all required fields!';
 
 //error, display form
 renderForm($userID, $username, $password, $telephone, $address1, $town, $postcode, $forename, $surname, $email, $error);
 }
 else
 {
 // save the data to the database
 	$query = $db->prepare("UPDATE user SET username='$username', password='$password', telephone='$telephone', address1='$address1', town='$town', postcode='$postcode', forename='$forename', surname='$surname', email='$email' ");
	$query->execute();
 
 // once saved, redirect back to the view page
 header("Location: view_user.php"); 
 }
 }
 else
 {
 // if the 'id' isn't valid, display an error
 echo 'Error!';
 }
 }
 else
 // if the form hasn't been submitted, get the data from the db and display the form
 {
 
 // get the 'id' value from the URL (if it exists), making sure that it is valid (checing that it is numeric/larger than 0)
 if (isset($_GET['userID']) && is_numeric($_GET['userID']) && $_GET['userID'] > 0)
 {
 // query db
 $userID = $_GET['userID'];
 $query = $db->prepare("SELECT * FROM user WHERE userID=$userID");
 $query->execute();
 $dbRow = $query->fetch(PDO::FETCH_ASSOC);
 
 // check that the 'id' matches up with a row in the databse
 if($dbRow)
 {
 
 // get data from db
 $username = $dbRow['username'];
 $password = $dbRow['password'];
 $telephone = $dbRow['telephone'];
 $address1 = $dbRow['address1'];
 $town = $dbRow['town'];
 $postcode = $dbRow['postcode'];
 $forename = $dbRow['forename'];
 $surname = $dbRow['surname'];
 $email = $dbRow['email'];
 
 
 // show form
 renderForm($userID, $username, $password, $telephone, $address1, $town, $postcode, $forename, $surname, $email, '');
 }
 else
 // if no match, display result
 {
 echo "No results!";
 }
 }
 else
 // if the 'id' in the URL isn't valid, or if there is no 'id' value, display an error
 {
 echo 'Error!';
 }
 }
?>

사용자 정보 코드보기

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="description" content="">
    <meta name="author" content="">
    <link rel="icon" href="../../favicon.ico">

    <title>Ballymena Sports</title>

    <!-- Bootstrap core CSS -->
    <link href="bootstrap.min.css" rel="stylesheet">

    <!-- Custom styles for this template -->
    <link href="home2.css" rel="stylesheet">

    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
    <!--[if lt IE 9]>
      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    <![endif]-->
  </head>

  <body>

    <nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
      <div class="container">
        <div class="navbar-header">
				<a class="navbar-brand" href="home2_template.html">Ballymena Sports</a>
		</div>
		
		<ul class="nav navbar-nav navbar-right">
		    <li><a href="admin_login.php">Administrator</a></li>
            <li><a href="logout.php">Log out</a></li>
		</ul>
		
	  </div>
    </nav>
	


    <!-- Main part of homepage -->
    <div class="jumbotron">
		<div class="container">
		  <h2>Users</h2>
		  <p>This table shows all registered users of Ballymena Sports:</p>            
			
			<div class="table-responsive"> 
			<tbody>
				<?php 
					include "config.php"; 
					
					$query = $db->prepare("SELECT * FROM user ORDER BY userID asc");
					$query->execute();
		
		
					echo "<table id='user' class='table table-bordered'>
						  <tr>
						  <th>User ID</th>
						  <th>Username</th>
						  <th>Forename</th>
						  <th>Surname</th>
						  <th>Email</th>
						  <th>Address</th>
						  <th>Town</th>
						  <th>Postcode</th>
						  <th>Edit User</th> 
						  <th>Delete User</th>
						  </tr>";
						
					while ($dbRow = $query->fetch(PDO::FETCH_ASSOC)) {
						$userID = $dbRow['userID'];
						$username = $dbRow['username'];
						$forename = $dbRow['forename'];
						$surname = $dbRow['surname'];
						$email = $dbRow['email'];
						$address1 = $dbRow['address1'];
						$town = $dbRow['town'];
						$postcode = $dbRow['postcode'];
						// code to display information
						
				
			   { echo "<tr>
						<td>$userID</td>
						<td>$username</td>
						<td>$forename</td>
						<td>$surname</td>
						<td>$email</td>
						<td>$address1</td>
						<td>$town</td>
						<td>$postcode</td>
						<td><a href='edit_user.php?userID=".$userID."'>Edit</a></td>
						<td><a href='delete_user.php?userID=".$userID."'>Delete</a></td>
					  </tr>";}
				} //while
				?> 

			</tbody>
			</div>
		  </table>
		</div>
    </div>
<?php 


	if(!$_SESSION['admin_username']){
		header('location:admin_login.php'); 
		
		$name = $_SESSION['admin_username'];
	}
	
?> 

      <hr>



    <!-- Bootstrap core JavaScript
    ================================================== -->
    <!-- Placed at the end of the document so the pages load faster -->
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <script src="../../dist/js/bootstrap.min.js"></script>
    <!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
    <script src="../../assets/js/ie10-viewport-bug-workaround.js"></script> 
	<!-- Header and footer later to be used as include statements -->
  </body>
</html>

이안 켐프

귀하의 문제는 귀하의 update진술이 where절을 지정하지 않는다는 것입니다 .

$query = $db->prepare("UPDATE user SET username='$username', password='$password', telephone='$telephone', address1='$address1', town='$town', postcode='$postcode', forename='$forename', surname='$surname', email='$email' ");

이 특정 사용자에 대한 행만 업데이트하도록 지정하려면 사용자 ID를 사용해야합니다.

$query = $db->prepare("UPDATE user SET username='$username', password='$password', telephone='$telephone', address1='$address1', town='$town', postcode='$postcode', forename='$forename', surname='$surname', email='$email' where userId=$userID");

SQL 주입 공격으로부터 코드를 보호하기 위해 준비된 문을 사용하는 것도 고려해야합니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

codeigniter를 사용하여 데이터베이스의 업데이트 데이터에 대한 ajax

분류에서Dev

PHP에서 $ _request 변수를 사용한 데이터베이스 업데이트

분류에서Dev

PHP / MySql / PDO를 사용하여 자동 증가 필드를 제외한 모든 값 업데이트

분류에서Dev

한 데이터베이스에서 다른 데이터베이스로 모든 데이터베이스 사용자를 복사하는 방법

분류에서Dev

lucene.net 인덱스의 필드를 업데이트하는 방법 대신 모든 인덱스를 업데이트하는 방법에 대한 예제

분류에서Dev

기본 키를 사용하여 데이터베이스의 세 번째 모델에서 데이터 검색

분류에서Dev

django 쿼리를 사용하여 데이터베이스 필드의 모든 값이 동일한 지 확인하는 방법

분류에서Dev

데이터베이스에있는 모든 테이블의 모든 레코드를 업데이트하는 방법은 무엇입니까?

분류에서Dev

MySQL 데이터베이스에서 Django 모델 필드를 업데이트하는 방법

분류에서Dev

PHP, Ajax 및 JavaScript를 사용하여 데이터베이스의 모든 행에서 별도의 div에 데이터를 넣습니다.

분류에서Dev

SQL에서 선택 필드를 채우고 선택을 사용하여 데이터베이스 업데이트

분류에서Dev

PHP를 사용하여 CodeIgniter에서 사용자가 입력 한 값으로 데이터베이스 테이블 업데이트

분류에서Dev

awk를 사용하여 모든 빈번한 시간 간격 사이에 데이터를 읽는 방법

분류에서Dev

PHP를 사용하여 데이터베이스의 이미지 업데이트

분류에서Dev

모든 데이터베이스 삽입 및 업데이트에 대한 날짜를 수정하는 전역 규칙 추가

분류에서Dev

PDO 오류를 사용하여 데이터베이스에 업데이트

분류에서Dev

Codeigniter를 사용하여 mysql 데이터베이스에서 업데이트

분류에서Dev

Android : 하나를 제외한 모든 사용자를 Firebase 데이터베이스에 표시하는 방법

분류에서Dev

숨겨진 필드를 사용하여 데이터베이스의 데이터 업데이트

분류에서Dev

모든 트랜잭션 명령에 대한 새 쿼리를 사용하여 적중 데이터베이스 시퀀스 화

분류에서Dev

postgresql 데이터베이스에서 모든 필드로 데이터를 추출하고 django의 일부 새 필드로 새 모델 만들기

분류에서Dev

npm 라이브러리 Telegraf를 사용하여 데이터베이스의 ID 목록에서 한 번에 모든 텔레 그램 봇 사용자에게 메시지를 보내는 방법

분류에서Dev

PHP를 사용하여 데이터베이스의 정보 업데이트

분류에서Dev

PHP에서 데이터베이스의 모든 데이터를 가져오고 표시하는 방법

분류에서Dev

PHP를 사용하여 데이터베이스에 삽입-한 행만 삽입

분류에서Dev

ajax를 사용하여 데이터베이스에서 데이터를 가져 오는 스프링 MVC의 부트 스트랩 모달 팝업 필드 값에 값을 배치합니다.

분류에서Dev

PHP를 사용하여 MySQL 데이터베이스에 다양한 크기의 이중 배열 저장

분류에서Dev

데이터베이스에서 로그인 할 때 후크를 사용하여 자식에서 부모로 데이터를 업데이트하는 방법

분류에서Dev

PHP를 사용하여 MySQL 데이터베이스의 여러 열에 대한 결과 형식 지정

Related 관련 기사

  1. 1

    codeigniter를 사용하여 데이터베이스의 업데이트 데이터에 대한 ajax

  2. 2

    PHP에서 $ _request 변수를 사용한 데이터베이스 업데이트

  3. 3

    PHP / MySql / PDO를 사용하여 자동 증가 필드를 제외한 모든 값 업데이트

  4. 4

    한 데이터베이스에서 다른 데이터베이스로 모든 데이터베이스 사용자를 복사하는 방법

  5. 5

    lucene.net 인덱스의 필드를 업데이트하는 방법 대신 모든 인덱스를 업데이트하는 방법에 대한 예제

  6. 6

    기본 키를 사용하여 데이터베이스의 세 번째 모델에서 데이터 검색

  7. 7

    django 쿼리를 사용하여 데이터베이스 필드의 모든 값이 동일한 지 확인하는 방법

  8. 8

    데이터베이스에있는 모든 테이블의 모든 레코드를 업데이트하는 방법은 무엇입니까?

  9. 9

    MySQL 데이터베이스에서 Django 모델 필드를 업데이트하는 방법

  10. 10

    PHP, Ajax 및 JavaScript를 사용하여 데이터베이스의 모든 행에서 별도의 div에 데이터를 넣습니다.

  11. 11

    SQL에서 선택 필드를 채우고 선택을 사용하여 데이터베이스 업데이트

  12. 12

    PHP를 사용하여 CodeIgniter에서 사용자가 입력 한 값으로 데이터베이스 테이블 업데이트

  13. 13

    awk를 사용하여 모든 빈번한 시간 간격 사이에 데이터를 읽는 방법

  14. 14

    PHP를 사용하여 데이터베이스의 이미지 업데이트

  15. 15

    모든 데이터베이스 삽입 및 업데이트에 대한 날짜를 수정하는 전역 규칙 추가

  16. 16

    PDO 오류를 사용하여 데이터베이스에 업데이트

  17. 17

    Codeigniter를 사용하여 mysql 데이터베이스에서 업데이트

  18. 18

    Android : 하나를 제외한 모든 사용자를 Firebase 데이터베이스에 표시하는 방법

  19. 19

    숨겨진 필드를 사용하여 데이터베이스의 데이터 업데이트

  20. 20

    모든 트랜잭션 명령에 대한 새 쿼리를 사용하여 적중 데이터베이스 시퀀스 화

  21. 21

    postgresql 데이터베이스에서 모든 필드로 데이터를 추출하고 django의 일부 새 필드로 새 모델 만들기

  22. 22

    npm 라이브러리 Telegraf를 사용하여 데이터베이스의 ID 목록에서 한 번에 모든 텔레 그램 봇 사용자에게 메시지를 보내는 방법

  23. 23

    PHP를 사용하여 데이터베이스의 정보 업데이트

  24. 24

    PHP에서 데이터베이스의 모든 데이터를 가져오고 표시하는 방법

  25. 25

    PHP를 사용하여 데이터베이스에 삽입-한 행만 삽입

  26. 26

    ajax를 사용하여 데이터베이스에서 데이터를 가져 오는 스프링 MVC의 부트 스트랩 모달 팝업 필드 값에 값을 배치합니다.

  27. 27

    PHP를 사용하여 MySQL 데이터베이스에 다양한 크기의 이중 배열 저장

  28. 28

    데이터베이스에서 로그인 할 때 후크를 사용하여 자식에서 부모로 데이터를 업데이트하는 방법

  29. 29

    PHP를 사용하여 MySQL 데이터베이스의 여러 열에 대한 결과 형식 지정

뜨겁다태그

보관