PDA

View Full Version : [SQL]Errore di sintassi nella creazione di un database e tabelle


Mattyfog
10-08-2011, 22:50
Dovrebbe trattarsi di un problema molto semplice. Phpmyadmin restituisce un errore di sintassi non ben specificato nell'istruzione di creazione della prima tabella. Sapreste aiutarmi? Grazie :)

CREATE DATABASE trekking_biellese;
USE trekking_biellese;

CREATE TABLE 'tb_trips' (
'id' int(11) unsigned NOT NULL,
'title' text NOT NULL,
'text' text,
'published' int(1) NOT NULL,
PRIMARY KEY ('id')
);

CREATE TABLE 'tb_tags_main' (
'id_tag' int(11) unsigned NOT NULL auto_increment,
'name' text NOT NULL,
'allow_multiple_choice' int(1),
PRIMARY KEY ('id_tag')
);

CREATE TABLE 'tb_tags_values' (
'id_value' int(11) unsigned NOT NULL auto_increment,
'id_tag' int(11) unsigned NOT NULL,
'name' text,
PRIMARY KEY ('id_value'),
KEY 'id_tag' ('id_tag')
);

CREATE TABLE 'tb_tags_connections' (
'id' int(11) unsigned NOT NULL auto_increment,
'id_trip' int(11) unsigned NOT NULL,
'id_value' int(11) unsigned NOT NULL,
PRIMARY KEY ('id'),
KEY 'id_trip' ('id_trip'),
KEY 'id_value' ('id_value')
);

cdimauro
11-08-2011, 05:55
CREATE TABLE tb_trips (
id int(11) unsigned NOT NULL,
title text NOT NULL,
text text,
published int(1) NOT NULL,
PRIMARY KEY (id)
);
In ogni caso, complimenti a MySQL per i bellissimi messaggi d'errore autoesplicativi... :muro:

Mattyfog
11-08-2011, 13:19
Grazie mille, la cosa bella è che gli apici li metteva pure la guida che stavo leggendo! :mc:
Però non capisco una cosa: ora se inserisco la query in phpmysql manualmente funziona senza problemi ma da php non riesco a farla funzionare. Non fa proprio niente, non restituisce neppure errori!

$mysqli = new mysqli("localhost","root","");

if(mysqli_connect_errno())
print("Errore di connessione: " . mysqli_connect_error());

$query = [query di prima]

$result = $mysqli->query($query);

$mysqli->close();

ndakota
11-08-2011, 14:14
Bè, sicuro in realtà non l'abbia eseguita correttamente e creato la tabella? :D

cdimauro
11-08-2011, 14:27
Infatti. Controlla e facci sapere. ;)

Mattyfog
11-08-2011, 19:25
Come faccio a controllare?
Se vado su phpmyadmin non è stata creata nessuna tabella nè database.

cdimauro
12-08-2011, 06:27
Se non c'è la tabella e PHP non ti restituisce nessun errore, non so cos'altro essere.

Mattyfog
12-08-2011, 09:27
Provo a ricontrollare meglio. In effetti credo che non esegua la query :D

Mattyfog
15-08-2011, 20:17
Ho risolto!
Ho capito il perchè: quando si vogliono eseguire più query in una sola volta bisogna usare questo comando:
$result = $mysqli->multi_query($query);
e non il classico $mysqli->query($query)

Spero di essere stato utile a qualcuno ;)