errore inserimento creazione stanza

Imperor

Utente Attivo
25 Nov 2010
102
2
18
Roma
www.fcfclean.it
ciao e ben ritrovati ;) sono riuscito a creare un sito di chat dove l'utente si registra e può creare la sua stanza e diventa admin fin qui funziona tutto ma se l'utente che è diventato admin quando prova a creare un'altra stanza mi da errore che non riesco a capire
posto i codici
Codice:
Error: SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`prova`.`chatrooms`, CONSTRAINT `chatrooms_ibfk_1` FOREIGN KEY (`created_by`) REFERENCES `users` (`id`))
----------------------------------------
forse è qui l'errore???
CREATE TABLE `chatrooms` (
  `id` int(11) NOT NULL,
  `name` varchar(100) NOT NULL,
  `created_by` int(11) DEFAULT NULL,
  `topic` varchar(100) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
 <?php
                            if ($_SERVER['REQUEST_METHOD'] === 'POST') {
                                $chatroomName = $_POST['chatroom_name'];
                                $topic = $_POST['topic'];
                                $userId = $_SESSION['user_id'];

                                try {
                                    // Inserimento della chatroom
                                    $stmt = $pdo->prepare("INSERT INTO chatrooms (name, topic, created_by) VALUES (:name, :topic, :created_by)");
                                    $stmt->execute(['name' => $chatroomName, 'topic' => $topic, 'created_by' => $userId]);
                                    $chatroomId = $pdo->lastInsertId();

                                    // Assegnazione del ruolo di amministratore
                                    $role = 'admin';
                                    $stmt = $pdo->prepare("INSERT INTO user_roles (user_id, chatroom_id, role) VALUES (:user_id, :chatroom_id, :role)");
                                    $stmt->execute(['user_id' => $userId, 'chatroom_id' => $chatroomId, 'role' => $role]);
                                    
                                    $stmt = $pdo->prepare("UPDATE users SET role = :role WHERE id = :id");
                                    $stmt->execute(['id' => $userId, 'role' => $role]);

                                    echo "Chatroom created and user assigned as admin";
                                } catch (PDOException $e) {
                                    echo 'Error: ' . $e->getMessage();
                                }
                            }
                            ?>
                            <form method="post">
                                <div class="form-group"><h6>Nome stanza</h6>
                                    <div class="col-sm-10"><input type="text" name="chatroom_name" value="" class="form-control" autocomplete="off"></div>
                                </div>
                                
                                <div class="form-group"><h6>Descrizione stanza</h6>
                                    <div class="col-sm-10"><input type="text" name="topic" value="" class="form-control" autocomplete="off"></div>
                                </div>
                                
                                <div class="form-group">
                                    <div class="col-sm-4 col-sm-offset-1"><br>
                                        <button class="btn btn-primary" value="submit" name="create_chatroom" type="submit">Create room</button>
                                    </div>
                                </div>
                            </form>
 

Imperor

Utente Attivo
25 Nov 2010
102
2
18
Roma
www.fcfclean.it
ciao e ben ritrovati ;) sono riuscito a creare un sito di chat dove l'utente si registra e può creare la sua stanza e diventa admin fin qui funziona tutto ma se l'utente che è diventato admin quando prova a creare un'altra stanza mi da errore che non riesco a capire
posto i codici
Codice:
Error: SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`prova`.`chatrooms`, CONSTRAINT `chatrooms_ibfk_1` FOREIGN KEY (`created_by`) REFERENCES `users` (`id`))
----------------------------------------
forse è qui l'errore???
CREATE TABLE `chatrooms` (
  `id` int(11) NOT NULL,
  `name` varchar(100) NOT NULL,
  `created_by` int(11) DEFAULT NULL,
  `topic` varchar(100) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
 <?php
                            if ($_SERVER['REQUEST_METHOD'] === 'POST') {
                                $chatroomName = $_POST['chatroom_name'];
                                $topic = $_POST['topic'];
                                $userId = $_SESSION['user_id'];

                                try {
                                    // Inserimento della chatroom
                                    $stmt = $pdo->prepare("INSERT INTO chatrooms (name, topic, created_by) VALUES (:name, :topic, :created_by)");
                                    $stmt->execute(['name' => $chatroomName, 'topic' => $topic, 'created_by' => $userId]);
                                    $chatroomId = $pdo->lastInsertId();

                                    // Assegnazione del ruolo di amministratore
                                    $role = 'admin';
                                    $stmt = $pdo->prepare("INSERT INTO user_roles (user_id, chatroom_id, role) VALUES (:user_id, :chatroom_id, :role)");
                                    $stmt->execute(['user_id' => $userId, 'chatroom_id' => $chatroomId, 'role' => $role]);
                                   
                                    $stmt = $pdo->prepare("UPDATE users SET role = :role WHERE id = :id");
                                    $stmt->execute(['id' => $userId, 'role' => $role]);

                                    echo "Chatroom created and user assigned as admin";
                                } catch (PDOException $e) {
                                    echo 'Error: ' . $e->getMessage();
                                }
                            }
                            ?>
                            <form method="post">
                                <div class="form-group"><h6>Nome stanza</h6>
                                    <div class="col-sm-10"><input type="text" name="chatroom_name" value="" class="form-control" autocomplete="off"></div>
                                </div>
                               
                                <div class="form-group"><h6>Descrizione stanza</h6>
                                    <div class="col-sm-10"><input type="text" name="topic" value="" class="form-control" autocomplete="off"></div>
                                </div>
                               
                                <div class="form-group">
                                    <div class="col-sm-4 col-sm-offset-1"><br>
                                        <button class="btn btn-primary" value="submit" name="create_chatroom" type="submit">Create room</button>
                                    </div>
                                </div>
                            </form>
risolto :)
 
Discussioni simili
Autore Titolo Forum Risposte Data
K Inserimento query Errore 1366 PHP 4
L form multipla php sql,errore in inserimento MySQL 0
G [Javascript] Errore inserimento dati Backend Node.js e workbench Javascript 1
M [PHP] errore in semplie form inserimento dati PHP 7
M Errore inserimento immagine PHP 3
asevenx errore in inserimento dati in Data Base PHP 13
asevenx errore con l'inserimento dei dati nel database, campi vuoti Classic ASP 1
P errore su inserimento dati PHP 1
T errore asp (inserimento dati nel db) Classic ASP 1
F errore 1062 su campo nuovo MySQL 4
N Errore interno Access MS Access 2
R mi da errore dove inizia il while PHP 1
R Recupero di permalink di un sito che è stato eliminato per errore WordPress 5
R Yoast SEO errore semafori sempre rossi SEO e Posizionamento 0
S Visualizza l'errore di creazione in MSSQL Database 4
simgia Cordova errore quando cerco di emulare o creare la app Sviluppo app per Android 2
P Errore nell'indirizzo degli elementi HTML e CSS 2
Jensen Errore di sintassi con DELETE PHP 3
H Errore su array associativo PHP 1
FDF182 ERRORE 1292 PHP 4
P errore 404 con javascript Javascript 2
felino Windows 7: errore 80072EFE su Windows Update Windows e Software 1
A errore http://datatables.net/tn/7 PHP 4
M Errore visualizzazione meta tag title e description SEO e Posizionamento 1
A Errore durante il salvataggio Photoshop 0
M Errore configurazione motion detection nvr Hikvision DS-7616 IP Cam e Videosorveglianza 0
voldemort [c] Errore di segmentazione (core dump creato) C/C++ 1
T SSD - errore sistema Hardware 2
R Navigare sito con cURL, mi restituisce errore PHP 0
L File CSV con app inventor da errore Sviluppo app per Android 2
A Errore visualizzazione selezione testo Photoshop 0
I Postman 400 Errore di richiesta non valida Programmazione 0
S Errore PHP - Notice: Undefined index ... PHP 14
U Campo vuoto data errore Fatal error: PHP 2
R Errore UPDATE tabella mysql PHP 1
R W10 Segnalazione di errore su terminale USB Windows e Software 0
G non riesco a capire quale sia l'errore [SQL] MySQL 2
I Errore 80040220 nella newsletter con paginazione Classic ASP 0
E Errore di lettura php in html PHP 8
A php metodo post jquery non da mai errore jQuery 4
W Errore di run-time di Microsoft VBScript error '800a0035' Impossibile trovare il file Classic ASP 0
B Errore unexpected '$variabile' (T_VARIABLE) in your code on line PHP 2
M errore dopo passaggio Php 7.2 PHP 6
S -> Errore PHP 8
S Errore "ftp_put(): Can't open that file: Permission denied" PHP 1
P Errore telecamere hdcvi dahua IP Cam e Videosorveglianza 16
M Errore JavaScript per php [objeto HTMLParagraphElement] PHP 0
F [PHP]Errore registrazione PHP 8
MarcoGrazia [PHP] Download di file con errore all'interno. PHP 1
V [ORACLE] Errore ora-06512 at sys.utl_file Oracle 0

Discussioni simili