Я обновил код вопроса У меня все еще есть ошибки, но не обновляет запись. также нужно понять, как записать запись # успешно обновлено. Я застрял на этой странице обновления.Попытка обновления записи с PDO
<?php
error_reporting(E_ERROR | E_PARSE);
require_once("db_connect.php");
$id = $_REQUEST['id'];
$lanId = $_REQUEST['lanId'];
$name= $_REQUEST['name'];
$department = $_REQUEST['department'];
$manager= $_REQUEST['manager'];
$request = $_REQUEST['request'];
$request_description = $_REQUEST['request_description'];
$request_comments = $_REQUEST['request_comments'];
$status = $_REQUEST['status'];
$comments = $_REQUEST['comments'];
$compUser = $_REQUEST['compUser'];
$compDt = $_REQUEST['compDt'];
$sql = "UPDATE requests SET " .
\t \t \t \t "lanId = '" . $lanId . "', ".
\t \t \t \t "name = '" . $name . "', ".
\t \t \t \t "department = '" . $department . "', ".
\t \t \t \t "manager = '" . $manager. "', " .
\t \t \t \t "request = '" . $request. "', " .
\t \t \t \t "request_description = '" . $request_description. "', " .
\t \t \t \t "request_comments = '" . $request_comments. "', " .
\t \t \t \t "status = '" . $status. "', " .
\t \t \t \t "comments = '" . $comments. "', " .
\t \t \t \t "compUser = '" . $compUser. "', " .
\t \t \t \t "compDt = '" . $compDt. "' WHERE id = '" . $id . "';";
\t \t \t \t
\t \t \t \t #echo($sql);
\t \t \t \t
\t \t \t \t mysql_query($sql) or die (mysql_error);
\t \t \t \t
\t \t \t print("Record " . $id . " has been updated. .")
?>
<html>
<head>
<meta http-equiv=REFRESH CONTENT=2;url=StatusPages/received.php>
<title>
</title>
</head>
<body background="images/background.jpg">
</body>
</html>
update.php страница
<?php
include('db_connect.php');
$id=$_GET['id'];
$result = $db->prepare("SELECT * FROM requests WHERE id= :id");
$result->bindParam(':id', $id);
$result->execute();
for($i=0; $row = $result->fetch(); $i++){
?>
<html>
<head>
<title></title>
<style type="text/css">
}
.body{
background-color: #F2F2F2;
border: thin solid #666666;
}
</style>
</head>
<body class='body'>
<form action = "update_process.php" " method ="post" class="Form">
<p><input type ="hidden" name = "id" value="<?php print($id); ?>"</p>
<h2 align="center">Users request Information</h2>
<table border='1' align="center">
<tr>
<td>LAN ID:</td>
<td><input type="text" value ="<?php print($row['lanId']) ?>"name="lanId"></td>
<td>Name:</td>
<td><input type="text" value ="<?php print($row['name']) ?>"name="name"></td>
</tr>
<tr>
<td>Department Location</td>
<td><input type="text" value ="<?php print($row['department']) ?>"name="department"></td>
<td>Manager</td>
<td><input type="text" value ="<?php print($row['manager']) ?>"name="manager"></td>
</tr>
<tr>
<td>Request</td>
<td><input type="text" value ="<?php print($row['request']) ?>"name="request"></td>
<td>Request Description</td>
<td><input type="text" value ="<?php print($row['request_description']) ?>"name="request_description"></td>
</tr>
</table>
<table border='1' align="center">
<br>
<h2 align='center'>Requested Comments</h2>
<tr>
<td width='300' height="40">
<input type="text" value ="<?php print($row['request_comments'.'']) ?>"name="request_comments" size="50" style="height: 32px; width: 587px;" ></td>
</tr>
</table>
<h2 align="center">Complete or Update Requests Status</h2>
<table border='1' align="center" style="width: 595px">
<tr>
<td>Completed Date</td>
<td style="width: 303px">
<input type="text" value ="<?php echo date("Y-m-d",time())?>"name="compDt" style="width: 148px"></td>
</tr>
<tr>
<td>Status</td>
<td style="width: 303px"><select name ="status" style="width: 149px" >
<option value <?php if ($row['status']==1){ print('selected');} ?> ="Received">Received</option>
<option value <?php if ($row['status']==2){ print('selected');} ?> ="Completed">Completed</option>
<option value <?php if ($row['status']==3){ print('selected');} ?> ="Cancelled">Cancelled</option>
<option value <?php if ($row['status']==4){ print('selected');} ?> ="In_Progress">In_Progress</option>
<option value <?php if ($row['status']==5){ print('selected');} ?> ="On_Hold">On_Hold</option>
</select>
</td>
</tr>
<tr>
<td>Completed by</td>
<td style="width: 303px"><select name ="compUser" style="width: 149px" >
<option value <?php if ($row['compUser']==1){ print('selected');} ?> ="unasigned">Please Select....</option>
<option value <?php if ($row['compUser']==1){ print('selected');} ?> ="xgrh">xgrh</option>
<option value <?php if ($row['compUser']==2){ print('selected');} ?> ="zeap">zeap</option>
<option value <?php if ($row['compUser']==2){ print('selected');} ?> ="xjae">xjae</option>
</select>
</td>
</tr>
</table>
<div align='center'>
<br>Comments:<br>
<textarea name="comments" Value = "<?php print($row['request_comments']) ?>" style="width: 593px; height: 100px"></textarea><br>
<br><br>
<input type="submit" value= "Update Information">
<br>
</div>
</form>
</body>
</html>
<?php
}
?>
update_process.php страница
<?php
include('db_connect.php');
$action = isset($_POST['action']) ? $_POST['action'] : "";
if($action == "update"){
try{
global $conn;
$sql = 'UPDATE requests SET lanId= :lanId, name= :name, department= :department,manager= :manager,request= :request,request_description= :request_description, request_comments= :request_comments,status= :status,comments= :comments,compUser= :compUser, compDt= :comDt WHERE id= :id';
$stmt = $pdo->prepare($sql);
$stmt->bindParam(':lanId', $_POST['lanId'], PDO::PARAM_STR);
$stmt->bindParam(':name', $_POST['$name'], PDO::PARAM_STR);
$stmt->bindParam(':department', $_POST['department'], PDO::PARAM_STR);
$stmt->bindParam(':manager', $_POST['manager'], PDO::PARAM_STR);
$stmt->bindParam(':request', $_POST['request'], PDO::PARAM_STR);
$stmt->bindParam(':request_description', $_POST['request_description'], PDO::PARAM_STR);
$stmt->bindParam(':request_comments', $_POST['request_comments'], PDO::PARAM_STR);
$stmt->bindParam(':status', $_POST['status'], PDO::PARAM_STR);
$stmt->bindParam(':comments', $_POST['comments'], PDO::PARAM_STR);
$stmt->bindParam(':compUser', $_POST['compUser'], PDO::PARAM_STR);
$stmt->bindParam(':comDt', $_POST['comDt'], PDO::PARAM_STR);
$stmt->execute();
}catch(PDOException $exception){
echo "Error: " . $exception->getMessage();
}
}
?>
Добавить сообщение об ошибках в верхней части файла (ов) сразу после открытия ' Php' тег' error_reporting (E_ALL) ; ini_set ('display_errors', 1); 'и добавить отчет об ошибках в инструкцию PDO. Ваш запрос не соответствует форме с точки зрения синтаксиса, и проверка ошибок показала бы это вам. –
'$ affected_rows-> execute()' определенно не то, что вы хотите здесь. Вы должны готовить инструкцию с помощью 'prepare()' и placeholders, а затем вызывать 'execute()' в инструкции. Учебник [PDO для разработчиков MySQL] (http://wiki.hashphp.org/PDO_Tutorial_for_MySQL_Developers#Named_Placeholders) хорошо объясняет это и в контексте старых функций mysql _ *() ', если это ваш фон. –
Попробуйте '$ db-> prepare' вместо' $ db-> exec' также добавить '$ db-> setAttribute (PDO :: ATTR_ERRMODE, PDO :: ERRMODE_EXCEPTION);' сразу после открытия соединения. –