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

    [mysql] Problemi con la selezione del database

    Sono su un server linux aruba.
    ho un problema su questo semplice script di prova:
    Codice PHP:
    <?php
    $host
    ="62.149.xxx.xx";
    $user="Sqlxxxxxx";
    $pass="xxxxxxxx";
    $db_name="Sqlxxxxxx_2";
    $aaa="Prova Nome";
    $bbb="Prova Descrizione";
    $ccc="imm.jpg";
    $ddd="1";
    $query ="INSERT INTO scarpe (name, desc, photo, active) VALUES ('$aaa', '$bbb', '$ccc', '$ddd')";
    $connection mysql_connect($host$user$pass);
    if(!
    $connection)
    {
        die(
    "Errore di connessione al database, impossibile procedere"mysql_error());
    }
    if (
    mysql_select_db($db_name$connection))
    {
        die(
    "Errore, Databese non selezionato"mysql_error());
    }
    if (
    mysql_query($query$connection))
    {
        die (
    "Query eseguita con successo!");
    }
    else
    {
        die (
    "Errore, query non eseguita"mysql_error());
    }
    mysql_close($connection);
    ?>
    Ho fatto mille prove leggendo qua e la come connettersi al database, ma il problema è che non mi seleziona il database. Dove sbaglio?

    Grazie mille per l'aiuto.
    Dax

  2. #2
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    Io aprirei la connessione prima di lanciare la query, ma forse deriva più da un mio modus operandi...
    Codice PHP:
    <?php 
    $host
    ="62.149.xxx.xx"
    $user="Sqlxxxxxx"
    $pass="xxxxxxxx"
    $db_name="Sqlxxxxxx_2"
    $aaa="Prova Nome"
    $bbb="Prova Descrizione"
    $ccc="imm.jpg"
    $ddd="1"

    $connection mysql_connect($host$user$pass) or die ("Errore di connessione al server, impossibile procedere"mysql_error());

    mysql_select_db($db_name$connection) or die("Errore, Database non selezionato"mysql_error());

    $query ="INSERT INTO scarpe (name, desc, photo, active) VALUES ('$aaa', '$bbb', '$ccc', '$ddd')"
    $insert mysql_query($query$connection) or die ("Errore, query non eseguita"mysql_error()); 

    echo 
    "Inserimento corretto";
    ?>

  3. #3
    Grazie per l'aiuto ora mi seleziona il database giusto (mysql_select_db mi restiruisce true), ma il problema persiste non mi esegue la query. Ti mostro il messaggio del mysql_error():
    Errore, query non eseguita
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''id', 'name', 'desc', 'photo', 'active') VALUES (NULL, 'Prova Nome', 'Prova Desc' at line 1
    Adesso il codice è così:

    Codice PHP:
    $connection mysql_connect($host$user$pass) or die ("Errore di connessione al server, impossibile procedere"mysql_error());

    mysql_select_db($db_name$connection) or die("Errore, Database non selezionato"mysql_error());

    $query ="INSERT INTO scarpe ('id', 'name', 'desc', 'photo', 'active') VALUES (NULL, '$aaa', '$bbb', '$ccc', '$ddd')";
    mysql_query($query$connection) or die ("Errore, query non eseguita
    "
    mysql_error());

    echo 
    "Inserimento corretto"
    Grazie mille
    Dax

  4. #4
    INSERT INTO scarpe ('id', 'name', 'desc', 'photo', 'active')

    i nomi di campo non sono stringhe. Togli gli apici

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    Premettendo che non sono un esperto, facendo delle prove ho messo gli apici perché ho provato da PhpMyAdmin a eseguire la query che mi serve e mi ha fatto vedere come l'ha costruita, e ho provato a copiarla da lì.
    Comunque avevo già provato anche senza apici e il risultato è lo stesso:
    Errore, query non eseguita
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'desc, photo, active) VALUES (NULL, 'Prova Nome', 'Prova Descrizione', 'imm.jpg',' at line 1
    grazie
    Dax

  6. #6
    Originariamente inviato da arella86
    Premettendo che non sono un esperto, facendo delle prove ho messo gli apici perché ho provato da PhpMyAdmin a eseguire la query che mi serve e mi ha fatto vedere come l'ha costruita, e ho provato a copiarla da lì.
    Comunque avevo già provato anche senza apici e il risultato è lo stesso:


    grazie
    come hai potuto vedere l'errore e' cambiato.

    DESC e' una parola riservata ... phpmyadmin ti mette dei backtick o come diavolo si scrive (alt+96) ... `desc` che non sono apici ma servono proprio per dire che quello che contengono sono nomi e non istruzioni.

    meglio comunque non usare le parole riservate che sono destinate alle istruzioni

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  7. #7
    Infatti avevo notato che non erano apici.....

    Grazie mille per l'aiuto

    Pensa te, stavo perdendo la testa non riuscivo proprio a capire perché non andasse, una cosa così semplice, poi.
    Dax

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.