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

    SQL Query con PHP, stringa errata...dove??

    Salve a tutti,
    vi scrivo per porre il mio problema che mi blocca con i lavori, e non riesco a risolvere :S
    Ho creato questa query utilizzata da PHP:

    Codice PHP:
    $sql 'CREATE USER \''.$Isegl_r_Free["form_nickname"].'\'@\'%\' IDENTIFIED BY  \''.$Isegl_r_Free["form_pass"].'\'; ';

    $sql .= 'GRANT USAGE ON * . * TO  \''.$Isegl_r_Free["form_nickname"].'\'@\'%\' IDENTIFIED BY  \''.$Isegl_r_Free["form_pass"].'\' WITH MAX_QUERIES_PER_HOUR '.$Isegl_MySQL["MAX_QUERIES_PER_HOUR"].' MAX_CONNECTIONS_PER_HOUR '.$Isegl_MySQL["MAX_CONNECTIONS_PER_HOUR"].' MAX_UPDATES_PER_HOUR '.$Isegl_MySQL["MAX_UPDATES_PER_HOUR"].' MAX_USER_CONNECTIONS '.$Isegl_MySQL["MAX_USER_CONNECTIONS"].' ; ';

    $sql .= 'CREATE DATABASE  `'.$Isegl_r_Free["form_dbname"].'` ; ';

    $sql .= 'GRANT SELECT , INSERT , UPDATE , DELETE , CREATE , DROP , INDEX , ALTER , CREATE VIEW , EVENT, SHOW VIEW , CREATE ROUTINE, ALTER ROUTINE ON  `'.$Isegl_r_Free["form_dbname"].'` . * TO  \''.$Isegl_r_Free["form_nickname"].'\'@\'%\';'
    ma eseguendola mi da questo errore:

    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 'GRANT USAGE ON * . * TO 'user'@'%' IDENTIFIED BY '****' at line 1
    Eppure non ho fatto errori di sintassi, anche perche' provandola con phpmyadmin funziona...

    Grazie in anticipo...

    Nicola Panegos

  2. #2
    io vedoi che la rpima riga è sbagliata..prova a metetrla così

    Codice PHP:
    $sql ="CREATE USER '".$Isegl_r_Free["form_nickname"]."@%' IDENTIFIED BY  '".$Isegl_r_Free["form_pass"]."'; "

  3. #3
    mysql_query() di query ne puo' eseguire solo una per volta.

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

  4. #4
    Originariamente inviato da Emulman
    io vedoi che la rpima riga è sbagliata..prova a metetrla così

    Codice PHP:
    $sql ="CREATE USER '".$Isegl_r_Free["form_nickname"]."@%' IDENTIFIED BY  '".$Isegl_r_Free["form_pass"]."'; "
    Stesso errore...


    Originariamente inviato da piero.mac
    mysql_query() di query ne puo' eseguire solo una per volta.
    Quindi ci sono vie alternative? apparte quella di inserire decine di mysql_query() ?

  5. #5
    in effetti è così come vedi qua sotto ci sono due query: esegui prima l'una e poi l'altra entrambe con un mysql_query..ci sono cmq altri errorini che speor di aver risolto! curiosità..ma a che ti serve una query così complessa? potevi farla fare in automatico a phpMyAdmin...

    Codice PHP:
    $sql ="CREATE USER '".$Isegl_r_Free["form_nickname"]."@%' IDENTIFIED BY  '".$Isegl_r_Free["form_pass"]."'; ";
    $sql .= "GRANT USAGE ON * . * TO  '".$Isegl_r_Free["form_nickname"]."@%' IDENTIFIED BY  '".$Isegl_r_Free["form_pass"]."' WITH MAX_QUERIES_PER_HOUR ".$Isegl_MySQL["MAX_QUERIES_PER_HOUR"]." MAX_CONNECTIONS_PER_HOUR ".$Isegl_MySQL["MAX_CONNECTIONS_PER_HOUR"]." MAX_UPDATES_PER_HOUR ".$Isegl_MySQL["MAX_UPDATES_PER_HOUR"]." MAX_USER_CONNECTIONS ".$Isegl_MySQL["MAX_USER_CONNECTIONS"]." ;";

    $sql1 .= "CREATE DATABASE  `".$Isegl_r_Free["form_dbname"]."` ; ";

    $sql1 .= "GRANT SELECT , INSERT , UPDATE , DELETE , CREATE , DROP , INDEX , ALTER , CREATE VIEW , EVENT, SHOW VIEW , CREATE ROUTINE, ALTER ROUTINE ON  `".$Isegl_r_Free["form_dbname"]."` . * TO  '"'.$Isegl_r_Free["form_nickname"]."@%';"; 

  6. #6
    Originariamente inviato da NICOPAN
    Quindi ci sono vie alternative? apparte quella di inserire decine di mysql_query() ?
    non c'e santo ... ogni istruzione vuole la sua personale mysql_query

    cosi' van le cose.

    Phpmyadmin ti esegue le query allo stesso modo visto che e' uno script php. Solo che ti e' trasparente e ti pare che di query ne faccia una sola. Se invece vai da shell allora le puoi anche accodare separate dal delimiter ;

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

  7. #7
    Originariamente inviato da Emulman
    in effetti è così come vedi qua sotto ci sono due query: esegui prima l'una e poi l'altra entrambe con un mysql_query..ci sono cmq altri errorini che speor di aver risolto! curiosità..ma a che ti serve una query così complessa? potevi farla fare in automatico a phpMyAdmin...

    Codice PHP:
    $sql ="CREATE USER '

    $sql .= "GRANT USAGE ON 

    $sql1 
    .= "CREATE DATABASE  

    $sql1 .= "GRANT SELECT 
    cosi', all'ingrosso, ne vedrei 4.

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

  8. #8
    Grazie mille Piero! Ho finalmente risolto! =)

    Caiooo

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.