Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: Tabelle mysql

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2017
    Messaggi
    15

    Tabelle mysql

    Ciao, ho copiato un sito fatto con php su Aruba, server windows, con phpmyadmin.

    Ho un problema....le tabelle di dominio sono scritte tutte in minuscolo (sono qualche centinaio). Iniziano tutte con rep ed un esempio è la tabella di dominio repsino.
    Ora, il codice, che in vari file le richiama più volte è scritto in questo modo:

    SELECT * FROM RepSiNo

    Tutte le tabelle repertorio chiamate dal php hanno le iniziali delle parole in maiuscolo.

    Il risultato è che mi da errore. Dato che sto provando a modificare il codice ma mi rendo conto che è un impresa, non esiste un modo per non fargli riconoscere le maiuscole e minuscole?

    Mi scuso se è una cosa che riguarda mysql
    grazie
    Carlo

  2. #2
    Quote Originariamente inviata da lillo123 Visualizza il messaggio
    Il risultato è che mi da errore.
    Questa è facile, ci arrivo pure io: ti dà errore perché c'è qualcosa che non va!

    Se invece ti interessa sapere cosa non va, dicci quale errore ti dà.


  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2017
    Messaggi
    15
    l'errore è che il nome della tabella è repsino (tutta in minuscolo) e invece quando io la interrogo scrivo RepSiNo (SELECT * FROM RepSiNo) quindi lui non la riconosce in quanto legge le maiuscole e minuscole. volevo sapere se era possibile ovviare a questa cosa senza dover riscrivere tutto il codice o rinominare le tabelle

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    Questo è uno dei guai di scrivere codice hardcoded invece che parametrico.
    Se avessi i nomi delle tabelle in una variabile, ti basterebbe sostituire tutti i nomi delle tabelle una volta sola e nello stesso file.
    Adesso, se hai tutte le query scritte così, ti tocca modificarle tutte.

    Potresti aprire con Notepad++ tutti i file in cui ci sono le query e fare un "cerca e sostituisci" una volta per ogni nome di tabella e usare l'opzione "Sostituisci in tutti i file aperti".

    L'alternativa è intervenire sulle impostazioni del server mysql, ma a meno che tu non abbia un hosting dedicato non penso sia possibile.
    Ultima modifica di Alhazred; 21-06-2022 a 10:21

  5. #5
    Quote Originariamente inviata da lillo123 Visualizza il messaggio
    l'errore è che il nome della tabella è repsino (tutta in minuscolo) e invece quando io la interrogo scrivo RepSiNo (SELECT * FROM RepSiNo) quindi lui non la riconosce in quanto legge le maiuscole e minuscole. volevo sapere se era possibile ovviare a questa cosa senza dover riscrivere tutto il codice o rinominare le tabelle
    ma che errore è? ti viene restituito un qualche errore da MySQL o da PHP?

  6. #6
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    Quote Originariamente inviata da optime Visualizza il messaggio
    ma che errore è? ti viene restituito un qualche errore da MySQL o da PHP?
    Sicuramente MySQL, gli fallisce la query perché non trova la tabella.

  7. #7
    quindi MySQL riporta un errore del tipo "Ho fallito" senza il motivo?
    Ultima modifica di optime; 21-06-2022 a 12:21

  8. #8
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    Quote Originariamente inviata da optime Visualizza il messaggio
    quindi MySQL riporta un errore del tipo "Ho fallito" senza il motivo?
    Ha già spiegato che il motivo è il nome errato delle tabelle.

    MySQL è case sensitive, i nomi delle tabelle sul DB sono tutti in minuscolo, quelli usati negli script PHP sono Pascal case, quindi di fatto risultano nomi diversi.

  9. #9
    diciamo che la buona pratica vorrebbe che venisse riportato l'errore esatto ricevuto, ma ok, va bene.

    cfr https://dev.mysql.com/doc/refman/8.0...nsitivity.html

  10. #10
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    Quote Originariamente inviata da optime Visualizza il messaggio
    diciamo che la buona pratica vorrebbe che venisse riportato l'errore esatto ricevuto, ma ok, va bene.
    In questo caso il problema non era ignoto all'autore, lo sa bene da cosa dipendeva il malfunzionamento e lo ha spiegato, non era necessario scrivere anche il messaggio ricevuto per capirlo

    Qui si ricade sul fatto che può intervenire così solo se ha un hostng dedicato e può apportare modifiche alle impostazioni del server MySQL, altrimenti niente.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.