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

вот мой индекс page.inserted все данные в базу данных, а также показать на той же странице, но основная проблема заключается в том, что на странице update.php я не могу получить данные

// эта главная проблема здесь, и я не могу получить данные на этой странице и всегда сею следующее: Предупреждение: mysql_fetch_array () ожидает, что параметр 1 будет ресурсом, объект указан в C: \ wamp \ www \ phonebook \ update. PHP на линии 12

                index.php<?php require_once('dbconnect.php'); ?>

<html>
<head>
<title> </title>
</head>
<body>
<h1> phone book </h1>

<form method="post">
<table>
<tr>
<td>fname </td><td> <input type="text" name="firstname" required  /> </td>
</tr>
<tr>
<td>lname </td><td> <input type="text" name="lastname" required  /> </td>
</tr>
<tr>
<td>mobile </td><td> <input type="text" name="mobile" required  /> </td>
</tr>
</table>
<input type="submit" name="submit" value="submit" >

</form>

<!-- $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ show  $$$$$$$$$$$$$$$$$$$$$$$$$$ -->

<br> data </br>
<table border="1">
<tr>
<th>id</th>   <th>firstname</th>      <th>lastname</th> <th>mobile</th><th>update</th><th>delete</th>
</tr>
<?php
$conn = mysqli_connect('localhost','root','','phonebook');
$show = mysqli_query($conn,"SELECT * FROM contacts");

while($row = mysqli_fetch_array($show))
{
?>

<tr>
<td><?php echo $row['id']; ?></td>
<td><?php echo $row['firstname']; ?></td>
<td><?php echo $row['lastname']; ?></td>
<td><?php echo $row['mobile']; ?></td>
<td><a href="update.php?id=<?php echo $row['id']; ?>">update</a></td>
<td><a href="delete.php?id=<?php echo $row['id']; ?>" onclick="return confirm('sure want to delete')" >delete</a></td>
</tr><?php }  ?>
</table>
</body>
</html>

<?php
//require_once("function.php");
//$obj = new data();if(isset($_POST{"submit"}))
{

//echo "<pre>";print_r($_POST);die;
$fname = $_POST['firstname'];
$lname = $_POST['lastname'];
$mobile = $_POST['mobile'];
//$obj->insert($fname,$lname,$mobile);
$connect = mysqli_connect('localhost','root','','phonebook');
$insert = mysqli_query($connect,"insert into contacts(firstname,lastname,mobile) values('".$fname."','".$lname."','".$mobile."')");

if ($insert)
{  ?>

<script> alert('record inserted'); </script>
<?php
}
else
{ ?>
<script> alert('record not inserted'); </script>
<?php

}

header('Location:index.php');
}

?>

update.php
//check the code here

<?php require_once('dbconnect.php');

if(isset($_GET['id']) && is_numeric($_GET['id']) )
{
$id=$_GET['id'];
}

?>
<?php
$conn = mysqli_connect('localhost','root','','phonebook');
$result=mysqli_query($conn,"SELECT * FROM contacts WHERE id='$id'");
$fetch=mysql_fetch_array($result);
//$conn = mysqli_connect('localhost','root','','phonebook');
//$show = mysqli_query($conn,"SELECT * FROM contacts");

//while($row = mysqli_fetch_array($show))?><html>
<head>
<title>update page</title>
</head>
<body>
<form method="post"  name="update" action="update.php">
<table>

<tr>
<td>fname </td><td> <input type="text" name="firstname" value= "<?php echo $fetch['firstname']; ?>" required  /> </td>
</tr>
<tr>
<td>lname </td><td> <input type="text" name="lastname" value="<?php echo $fetch['lastname']; ?>" required  /> </td>
</tr>
<tr>
<td>mobile </td><td> <input type="text" name="mobile" value= "<?php echo $fetch['mobile']; ?>" required  /> </td>
</tr>
</table>
<input type="submit" name="submit" value="submit" >

</form>

</body>
</html>

0

Решение

Переключиться на использование mysqli_fetch_array () (Обратите внимание я) вместо mysql_fetch_array

1

Другие решения

попробуй это:

$conn = mysqli_connect('localhost','root','','phonebook');
$result=mysqli_query($conn,"SELECT * FROM contacts WHERE id='$id'");
$fetch=mysqli_fetch_array($result);
  1. Вы не должны использовать mysql_ *, это устарело. Вместо этого используйте PDO или MySQLi
  2. Вы не должны смешивать mysql_ * и mysqli_ *
  3. Просто создайте ОДИН экземпляр mysqli вместо того, чтобы создавать его для каждого вашего файла.
  4. Максимизируйте использование переменных тоже. Таким образом, вы должны изменить что-то только один раз.
  5. Пожалуйста, очистите / экранируйте пользовательский ввод перед передачей его в ваш SQL-запрос. В противном случае ваше приложение уязвимо для атак с использованием SQL-инъекций.
1

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector