Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2014
    Messaggi
    323

    installazione e creazione tabelle e record

    salve, come mai in questo codice mi da errore di sintassi quando cerca di gettarmi le pagine in php (semplice html), dentro il db mi da errore di sintassi.

    codice:
    $query = "INSERT INTO `pages` (`url`, `title`, `content`, `active`,`data_reg`) VALUES ('about', 'Chi sono?', '".file_get_contents("../pages/about.php")."','1',Now());";
    $stmt = $db->prepare( $query );
    $stmt->execute();
    tutto il db me lo crea e anche altri dati.. ma non vuole mettermi le pagine già fatte per far prima invece di far da capo una a una.

    l'errore è questo:
    codice:
    Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064 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 'uso del computer</span>&nbsp;(ECDL)</p> <h2>Curriculum Vitae</h2> <p><a href="' at line 1' in D:\xampp\htdocs\db\setup\install.php:9 Stack trace: #0 D:\xampp\htdocs\db\setup\install.php(9): PDOStatement->execute() #1 {main} thrown in D:\xampp\htdocs\db\setup\install.php on line 9
    idea?

    grazie mille e buona domenica.

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2014
    Messaggi
    323
    questo è il mio file install.php:
    codice:
    <?php
    
    
    include("../inc.php");
    $query = file_get_contents("database.sql");
    $stmt = $db->prepare( $query );
    $stmt->execute();
    
    
    $query = "INSERT INTO `pages` (`url`, `title`, `content`, `active`,`data_reg`) VALUES ('about', 'Chi sono?', '".file_get_contents("../pages/about.php")."','1',Now());";
    $stmt = $db->prepare( $query );
    $stmt->execute();
    
    
    $query = "INSERT INTO `pages` (`url`, `title`, `content`, `active`,`data_reg`) VALUES ('downloads', 'Downloads', '".file_get_contents("../pages/downloads.php")."','1',Now());";
    $stmt = $db->prepare( $query );
    $stmt->execute();
    
    
    $query = "INSERT INTO `pages` (`url`, `title`, `content`, `active`,`data_reg`) VALUES ('links', 'Links', '".file_get_contents("../pages/links.php")."','1',Now());";
    $stmt = $db->prepare( $query );
    $stmt->execute();
    
    
    ?>
    tutto mi crea, ma quando va ad inserire questi tre, mi da quell'errore lì.

    Vedendo bene l'errore si è fermato alla frase:

    dell'uso del computer,

    ed ha trovato ' e si è bloccato.

    idea?

  3. #3
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Quando fai la query, delimiti il testo con delle apici. Esempio : 'sono il testo che viene salvato'
    Allora quando tenti di salvare : 'dell'uso del computer' mysql crede che la stringa si chiude dopo la elle di dell e come non capisce quello che succede dopo ti fa un errore.
    Per ovviare cio' devi fare un addslashes prima di salvare. Dovrai fare un stripslashes prima di stampare a video.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2014
    Messaggi
    323
    risolto con questo: addslashes
    ti ringrazio molto cosi ho risolto anche quell'altro problema della codifica mac che si stava parlando l'altro giorno..

    ciao.

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.