Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Capire se la query fallisce

    Uso MySQL:

    quando faccio la insert vorrei riuscire a distinguere il caso in cui l'operazione non viene portata a termine. Come si fa?

    Esempio:
    ho una tabella con 2 campi (ID, Nome). ID chiave primaria. Vorrei sapere se c'è un comando in PHP o qualche "tattica" che mi faccia capire se nel caso di inserimenti di tuple con ID uguali, posso fare qualche altra cosa.

    del tipo "if (query non eseguita causa tupla con ID uguale già presente) Fai questa cosa qui"

    ho provato già a fare

    codice:
    if ($ris = mysql_query($query))
    fai qualcosa
    col risultato che viene sempre eseguita...

    aiuti?

  2. #2
    Ciao,

    mi pare evidente che il problema sia a livello di php e non a livello di sql, infatti tu stesso hai postato codice php ^^

    Maggiore attenzione per il futuro, per questa volta sposto il thread io

  3. #3
    A cosa serve or die secondo te?

    Codice PHP:
    mysql_query("LA TUA QUERY") or die (mysql_error()); 
    In questo modo ti mostrerà l' errore.. Se vuoi una frase scelta da te:

    Codice PHP:
    mysql_query("LA TUA QUERY") or die ("Errore!"); 
    Social Network in costruzione.. Misto tra Twitter e Facebook.. Twitbook o facetter?

  4. #4
    Ma or die non mi da possibilità di fare nient'altro. Io vorrei che se la query fallisse deve eseguire altro codice

  5. #5
    Moderatore di Windows e software L'avatar di URANIO
    Registrato dal
    Dec 1999
    residenza
    Casalpusterlengo (LO)
    Messaggi
    1,287
    Documentazione!
    http://php.net/manual/en/function.mysql-query.php
    For SELECT, SHOW, DESCRIBE, EXPLAIN and other statements returning resultset, mysql_query() returns a resource on success, or FALSE on error .

    For other type of SQL statements, INSERT, UPDATE, DELETE, DROP, etc, mysql_query() returns TRUE on success or FALSE on error.

  6. #6
    Ecco...sapevo di non essere un genio ma stavolta ho battuto me stesso. Quest'ultima cosa che mi hai suggerito (il fatto che restituisce true o false) la sapevo già.
    Solo che nel codice avevo scritto una cosa del genere:

    codice:
    if (mysql_query($query));
    Ovviamente da notare quel punto e virgola che mi faceva uscire pazzo e che fino a 10 secondi non avevo visto -.-'''

    Grazie 1000 a tutti!

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 © 2025 vBulletin Solutions, Inc. All rights reserved.