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

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Lead C# Ontwikkelaar

Lead C# Ontwikkelaar vaste standplaats Nijmegen Organisatie Groeiend IT bedrijf, gericht op duurzaamheid en maatschappelijk verantwoord ondernemen. Contactpersoon Roel Kavelaar ; rkavelaar@search-consult.nl ; 06 449 49 337 Verantwoordelijkheden Meedenken over verder ontwikkelen van het bedrijf Leiding geven aan ontwikkelaars Doorspreken van lopende projecten met je teamleden Plannen en budgetteren van nieuwe projectaanvragen Met de klant en andere betrokken partijen functioneel en technisch ontwerp van de aangeboden oplossing opstellen Klanten adviseren over mogelijke oplossingen voor het koppelen van systemen Klanten adviseren over mogelijke oplossingen voor het koppelen van systemen Met de klant en andere betrokken partijen een ontwerp van de aangeboden

Bekijk vacature »

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

21/09/2021 11:53:16
 
- 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.