Hulp bij het volgen van een cursus kreeg ik volgende Error:

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Johan Cuypers

Johan Cuypers

18/07/2021 18:22:52
Quote Anchor link
/
Gewijzigd op 18/07/2021 19:57:16 door Johan Cuypers
 
PHP hulp

PHP hulp

19/03/2024 10:12:59
 
- Ariën  -
Beheerder

- Ariën -

18/07/2021 18:41:05
Quote Anchor link
Kan je de code beperken tot relevante code van tot +/- 20 regels?
 
Johan Cuypers

Johan Cuypers

18/07/2021 19:39:21
Quote Anchor link
Ik hoop dat dit goed is:
Ik ben een cursus aan het volgen (geschreven voor php7 en lager).
Ik krijg een error wanneer ik dit in php8.0.6 server zet:
Fatal error: Uncaught TypeError: Cannot access offset of type string on string in C:\xampp\htdocs\2021\globe_bank\private\query_functions.php:472 Stack trace: #0 C:\xampp\htdocs\2021\globe_bank\public\staff\admins\delete.php(13): delete_admin('2') #1 {main} thrown in C:\xampp\htdocs\2021\globe_bank\private\query_functions.php on line 472

delete.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
if(is_post_request()) {
  $result = delete_admin($id);
  $_SESSION['message'] = 'Admin deleted.';
  redirect_to(url_for('/staff/admins/index.php'));
}
else {
  $admin = find_admin_by_id($id);
}

?>

queryfunctions.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
  function delete_admin($admin) {
    global $db;

    $sql = "DELETE FROM gb_admins ";
    $sql .= "WHERE id='" . db_escape($db, $admin['id']) . "' ";
    $sql .= "LIMIT 1;";
    $result = mysqli_query($db, $sql);

    // For DELETE statements, $result is true/false
    if($result) {
      return true;
    }
else {
      // DELETE failed
      echo mysqli_error($db);
      db_disconnect($db);
      exit;
    }
  }

?>


line 472 => $sql .= "WHERE id='" . db_escape($db, $admin['id']) . "' ";

Kan iemand hiermee helpen wat juist de fout is (ben maar een beginner) en hoe ik dit probleem kan oplossen.

Met vriendelijke groeten
Johan

Edit:
Gebruik voortaan [code] en [/code]-tags.
HTML is hier (gelukkig) niet mogelijk. Zie ook dit overzicht van opmaakcodes die wij ondersteunen.
Gewijzigd op 18/07/2021 20:27:47 door - Ariën -
 
- Ariën  -
Beheerder

- Ariën -

18/07/2021 20:25:14
Quote Anchor link
Je geeft blijkbaar in delete.php op lijn 3 (hier) een $id mee.
Maar uiteindelijk behandel je die in je functie op lijn 8 (hier) van queryfunctions.php als een array-key $admin['id'].

Met var_dump kan je precies zien wat voor type wat iets is.
 
Johan Cuypers

Johan Cuypers

18/07/2021 21:30:29
Quote Anchor link
ok dank je voor het advies :)
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.