mag CREATE TABLE $my_var?
ik heb diverse bronnen (waaronder http://dev.mysql.com/doc/refman/5.0/en/create-table.html)
geprobeerd maar niemand heeft het erover, en ik maar syntax errors krijgen..
het lijkt me automatorisch wel relaxed om dit te kunnen doen..
mijn query is nu:
$sql = "CREATE TABLE $table ('
. ' `id` INT NOT NULL AUTO_INCREMENT, '
. ' `item` TEXT(50) NOT NULL,'
. ' PRIMARY KEY (`id`)'
. ' )";
En ' . ' is niet handig, gewoon een enter geven is veel makkelijker, dan krijg je namelijk ook meteen te zien op welke regel de error zit. Error opvragen met mysql_error() uiteraard.
Verder krijg je die syntax errors volgens mij hierop:
'
. ' `id`
buiten de quotes houden... dus zo?
$sql = "CREATE TABLE '$table' ('
Gewijzigd op 01/01/1970 01:00:00 door Maarten hallo
Gebruik gewoon een enter, dat is makkelijker.
'id' INT NOT NULL AUTO_INCREMENT,
'item' TEXT(50) NOT NULL,
PRIMARY KEY ('id')
)";
Jonathan:
$sql = "CREATE TABLE ". $table . " (
'id' INT NOT NULL AUTO_INCREMENT,
'item' TEXT(50) NOT NULL,
PRIMARY KEY ('id')
)";
'id' INT NOT NULL AUTO_INCREMENT,
'item' TEXT(50) NOT NULL,
PRIMARY KEY ('id')
)";
waarom die quotes?
ik zou het zo doen:
$sql = "CREATE TABLE ".$table." (
id INT NOT NULL AUTO_INCREMENT,
item TEXT(50) NOT NULL,
PRIMARY KEY ('id')
)";
Ik weet het niet zeker, maar volgens mij hoeven de quotes bij de PRIMARY KEY ook niet...
Verbeterde versie:
$sql = "CREATE TABLE ".$table." (
id INT NOT NULL AUTO_INCREMENT,
item TEXT(50) NOT NULL,
PRIMARY KEY (id)
)";
Gewijzigd op 01/01/1970 01:00:00 door niek s
idd, niek en dit is ook de oplossing die ik wou geven
Doe anders dit:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
//blabla
$sql = "CREATE TABLE ".$table." (
id INT NOT NULL AUTO_INCREMENT,
item TEXT(50) NOT NULL,
PRIMARY KEY ('id')
)";
$res = mysql_query($sql) or die("Mmm, er ging iets mis. Dit is de SQL die je invoerde: <br />".$sql."<br /> En dit is de fout die MySQL teruggav: <br />".mysql_error());
//blabla
?>
//blabla
$sql = "CREATE TABLE ".$table." (
id INT NOT NULL AUTO_INCREMENT,
item TEXT(50) NOT NULL,
PRIMARY KEY ('id')
)";
$res = mysql_query($sql) or die("Mmm, er ging iets mis. Dit is de SQL die je invoerde: <br />".$sql."<br /> En dit is de fout die MySQL teruggav: <br />".mysql_error());
//blabla
?>
Groet,
Boris
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 '( id INT NOT NULL AUTO_INCREMENT, item TEXT(50) NOT NULL, PRIMARY KEY ('id') ' at line 1
en ook belangrijk: de variabele die de tabelnaam moet dragen wordt even niet gevuld...
is er iemand zo lief om mij op de grote fout (niet alle kleintjes aub, ik ben beginner) te wijzen? hier is het script:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
<?php
session_start();
error_reporting(E_ALL);
$id= $_GET['id'];
$counter='';
$count_shit = '';
$table = '';
//klantnummer maken.
if (!isset($_COOKIE['shop'])) {
$dbLink = mysql_connect("localhost", "root", "") or die(mysql_errno () . ": " . mysql_error());
mysql_select_db("audioassault", $dbLink);
$queryResult = mysql_query("SELECT * FROM counter", $dbLink)or die("<b>item not found</b><br>" . mysql_errno () . ": " . mysql_error());
while ($rowData = mysql_fetch_row($queryResult)) {
$counter = $rowData[0];
$count_shit = $counter +1;
$query = "UPDATE counter SET views = '$count_shit'";
mysql_query($query,$dbLink) or die("<b>FAILED</b><br>" . mysql_errno () . ": " . mysql_error());
setcookie('shop', $count_shit);
}
$dbLink = mysql_connect("localhost", "root", "") or die(mysql_errno () . ": " . mysql_error());
mysql_select_db("audioassault", $dbLink);
//tabel voor klant maken
$table = $_COOKIE['shop'];
$sql = "CREATE TABLE ".$table." (
id INT NOT NULL AUTO_INCREMENT,
item TEXT(50) NOT NULL,
PRIMARY KEY ('id')
)";
mysql_query($sql,$dbLink) or die("<b>KRENG</b><br>" . mysql_errno () . ": " . mysql_error());
}
//productnaam ophalen
$dbLink = mysql_connect("localhost", "root", "") or die(mysql_errno () . ": " . mysql_error());
mysql_select_db("audioassault", $dbLink);
$queryResult2 = mysql_query("SELECT * FROM catalogue WHERE id=$id", $dbLink)or die("<b>item not found</b><br>" . mysql_errno () . ": " . mysql_error());
while ($rowData = mysql_fetch_row($queryResult2)) {
$item = $rowData[1];
}
//product in tabel voor klant doen..
$dbLink = mysql_connect("localhost", "root", "") or die(mysql_errno () . ": " . mysql_error());
mysql_select_db("audioassault", $dbLink);
$table = $_COOKIE['shop'];
$query = "INSERT INTO $table (id, item)
values
('NOT NULL', '$item')";
mysql_query($query,$dbLink) or die;
//header ("location: index2.php");
?>
session_start();
error_reporting(E_ALL);
$id= $_GET['id'];
$counter='';
$count_shit = '';
$table = '';
//klantnummer maken.
if (!isset($_COOKIE['shop'])) {
$dbLink = mysql_connect("localhost", "root", "") or die(mysql_errno () . ": " . mysql_error());
mysql_select_db("audioassault", $dbLink);
$queryResult = mysql_query("SELECT * FROM counter", $dbLink)or die("<b>item not found</b><br>" . mysql_errno () . ": " . mysql_error());
while ($rowData = mysql_fetch_row($queryResult)) {
$counter = $rowData[0];
$count_shit = $counter +1;
$query = "UPDATE counter SET views = '$count_shit'";
mysql_query($query,$dbLink) or die("<b>FAILED</b><br>" . mysql_errno () . ": " . mysql_error());
setcookie('shop', $count_shit);
}
$dbLink = mysql_connect("localhost", "root", "") or die(mysql_errno () . ": " . mysql_error());
mysql_select_db("audioassault", $dbLink);
//tabel voor klant maken
$table = $_COOKIE['shop'];
$sql = "CREATE TABLE ".$table." (
id INT NOT NULL AUTO_INCREMENT,
item TEXT(50) NOT NULL,
PRIMARY KEY ('id')
)";
mysql_query($sql,$dbLink) or die("<b>KRENG</b><br>" . mysql_errno () . ": " . mysql_error());
}
//productnaam ophalen
$dbLink = mysql_connect("localhost", "root", "") or die(mysql_errno () . ": " . mysql_error());
mysql_select_db("audioassault", $dbLink);
$queryResult2 = mysql_query("SELECT * FROM catalogue WHERE id=$id", $dbLink)or die("<b>item not found</b><br>" . mysql_errno () . ": " . mysql_error());
while ($rowData = mysql_fetch_row($queryResult2)) {
$item = $rowData[1];
}
//product in tabel voor klant doen..
$dbLink = mysql_connect("localhost", "root", "") or die(mysql_errno () . ": " . mysql_error());
mysql_select_db("audioassault", $dbLink);
$table = $_COOKIE['shop'];
$query = "INSERT INTO $table (id, item)
values
('NOT NULL', '$item')";
mysql_query($query,$dbLink) or die;
//header ("location: index2.php");
?>
Boris:
Werkt dat?
Doe anders dit:
Groet,
Boris
Doe anders dit:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
//blabla
$sql = "CREATE TABLE ".$table." (
id INT NOT NULL AUTO_INCREMENT,
item TEXT(50) NOT NULL,
PRIMARY KEY ('id')
)";
$res = mysql_query($sql) or die("Mmm, er ging iets mis. Dit is de SQL die je invoerde: <br />".$sql."<br /> En dit is de fout die MySQL teruggav: <br />".mysql_error());
//blabla
?>
//blabla
$sql = "CREATE TABLE ".$table." (
id INT NOT NULL AUTO_INCREMENT,
item TEXT(50) NOT NULL,
PRIMARY KEY ('id')
)";
$res = mysql_query($sql) or die("Mmm, er ging iets mis. Dit is de SQL die je invoerde: <br />".$sql."<br /> En dit is de fout die MySQL teruggav: <br />".mysql_error());
//blabla
?>
Groet,
Boris
Waarom zo? je kan het tog ook gewoon in PMA invoeren?
En zie mijn bewerkte post hierboven trouwens nog even...
Maarten:
hmm.. het werkt allemaal niet.. met of zonder qoutes.. de error blijft :
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 '( id INT NOT NULL AUTO_INCREMENT, item TEXT(50) NOT NULL, PRIMARY KEY ('id') ' at line 1
en ook belangrijk: de variabele die de tabelnaam moet dragen wordt even niet gevuld...
is er iemand zo lief om mij op de grote fout (niet alle kleintjes aub, ik ben beginner) te wijzen? hier is het script:
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 '( id INT NOT NULL AUTO_INCREMENT, item TEXT(50) NOT NULL, PRIMARY KEY ('id') ' at line 1
en ook belangrijk: de variabele die de tabelnaam moet dragen wordt even niet gevuld...
is er iemand zo lief om mij op de grote fout (niet alle kleintjes aub, ik ben beginner) te wijzen? hier is het script:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
<?php
session_start();
error_reporting(E_ALL);
$id= $_GET['id'];
$counter='';
$count_shit = '';
$table = '';
//klantnummer maken.
if (!isset($_COOKIE['shop'])) {
$dbLink = mysql_connect("localhost", "root", "") or die(mysql_errno () . ": " . mysql_error());
mysql_select_db("audioassault", $dbLink);
$queryResult = mysql_query("SELECT * FROM counter", $dbLink)or die("<b>item not found</b><br>" . mysql_errno () . ": " . mysql_error());
while ($rowData = mysql_fetch_row($queryResult)) {
$counter = $rowData[0];
$count_shit = $counter +1;
$query = "UPDATE counter SET views = '$count_shit'";
mysql_query($query,$dbLink) or die("<b>FAILED</b><br>" . mysql_errno () . ": " . mysql_error());
setcookie('shop', $count_shit);
}
$dbLink = mysql_connect("localhost", "root", "") or die(mysql_errno () . ": " . mysql_error());
mysql_select_db("audioassault", $dbLink);
//tabel voor klant maken
$table = $_COOKIE['shop'];
$sql = "CREATE TABLE ".$table." (
id INT NOT NULL AUTO_INCREMENT,
item TEXT(50) NOT NULL,
PRIMARY KEY ('id')
)";
mysql_query($sql,$dbLink) or die("<b>KRENG</b><br>" . mysql_errno () . ": " . mysql_error());
}
//productnaam ophalen
$dbLink = mysql_connect("localhost", "root", "") or die(mysql_errno () . ": " . mysql_error());
mysql_select_db("audioassault", $dbLink);
$queryResult2 = mysql_query("SELECT * FROM catalogue WHERE id=$id", $dbLink)or die("<b>item not found</b><br>" . mysql_errno () . ": " . mysql_error());
while ($rowData = mysql_fetch_row($queryResult2)) {
$item = $rowData[1];
}
//product in tabel voor klant doen..
$dbLink = mysql_connect("localhost", "root", "") or die(mysql_errno () . ": " . mysql_error());
mysql_select_db("audioassault", $dbLink);
$table = $_COOKIE['shop'];
$query = "INSERT INTO $table (id, item)
values
('NOT NULL', '$item')";
mysql_query($query,$dbLink) or die;
//header ("location: index2.php");
?>
session_start();
error_reporting(E_ALL);
$id= $_GET['id'];
$counter='';
$count_shit = '';
$table = '';
//klantnummer maken.
if (!isset($_COOKIE['shop'])) {
$dbLink = mysql_connect("localhost", "root", "") or die(mysql_errno () . ": " . mysql_error());
mysql_select_db("audioassault", $dbLink);
$queryResult = mysql_query("SELECT * FROM counter", $dbLink)or die("<b>item not found</b><br>" . mysql_errno () . ": " . mysql_error());
while ($rowData = mysql_fetch_row($queryResult)) {
$counter = $rowData[0];
$count_shit = $counter +1;
$query = "UPDATE counter SET views = '$count_shit'";
mysql_query($query,$dbLink) or die("<b>FAILED</b><br>" . mysql_errno () . ": " . mysql_error());
setcookie('shop', $count_shit);
}
$dbLink = mysql_connect("localhost", "root", "") or die(mysql_errno () . ": " . mysql_error());
mysql_select_db("audioassault", $dbLink);
//tabel voor klant maken
$table = $_COOKIE['shop'];
$sql = "CREATE TABLE ".$table." (
id INT NOT NULL AUTO_INCREMENT,
item TEXT(50) NOT NULL,
PRIMARY KEY ('id')
)";
mysql_query($sql,$dbLink) or die("<b>KRENG</b><br>" . mysql_errno () . ": " . mysql_error());
}
//productnaam ophalen
$dbLink = mysql_connect("localhost", "root", "") or die(mysql_errno () . ": " . mysql_error());
mysql_select_db("audioassault", $dbLink);
$queryResult2 = mysql_query("SELECT * FROM catalogue WHERE id=$id", $dbLink)or die("<b>item not found</b><br>" . mysql_errno () . ": " . mysql_error());
while ($rowData = mysql_fetch_row($queryResult2)) {
$item = $rowData[1];
}
//product in tabel voor klant doen..
$dbLink = mysql_connect("localhost", "root", "") or die(mysql_errno () . ": " . mysql_error());
mysql_select_db("audioassault", $dbLink);
$table = $_COOKIE['shop'];
$query = "INSERT INTO $table (id, item)
values
('NOT NULL', '$item')";
mysql_query($query,$dbLink) or die;
//header ("location: index2.php");
?>
Probeer de quotes bij het id ook eens weg te halen.
Quotes zorgen namelijk ook soms voor de nodige problemen...
Ik ben nu je script aan het bekijken op verdere fouten
edit: als de tabel naam niet wort geset, betekent dat dat $_COOKIE['shop'] niet bestaat. Controleer eerst eens of die wel bestaat.
En als ik zo je script bekijk, heb je een gigantische fout in je datamodel! Ben je nu voor iedere gebruiker een apparte tabel aan het aanmaken?
Lees anders dit artiekel eens door...
Gewijzigd op 01/01/1970 01:00:00 door niek s
doe eens echo $sql en toon eens hoe de query eruit komt te zienn
Je moet toch { gebruiken in plaats van (
Gewijzigd op 01/01/1970 01:00:00 door Klaasjan Boven
niek:
Waarom zo? je kan het tog ook gewoon in PMA invoeren?
En zie mijn bewerkte post hierboven trouwens nog even...
Boris:
Werkt dat?
Doe anders dit:
Groet,
Boris
Doe anders dit:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
//blabla
$sql = "CREATE TABLE ".$table." (
id INT NOT NULL AUTO_INCREMENT,
item TEXT(50) NOT NULL,
PRIMARY KEY ('id')
)";
$res = mysql_query($sql) or die("Mmm, er ging iets mis. Dit is de SQL die je invoerde: <br />".$sql."<br /> En dit is de fout die MySQL teruggav: <br />".mysql_error());
//blabla
?>
//blabla
$sql = "CREATE TABLE ".$table." (
id INT NOT NULL AUTO_INCREMENT,
item TEXT(50) NOT NULL,
PRIMARY KEY ('id')
)";
$res = mysql_query($sql) or die("Mmm, er ging iets mis. Dit is de SQL die je invoerde: <br />".$sql."<br /> En dit is de fout die MySQL teruggav: <br />".mysql_error());
//blabla
?>
Groet,
Boris
Waarom zo? je kan het tog ook gewoon in PMA invoeren?
En zie mijn bewerkte post hierboven trouwens nog even...
Waarom zet je er dan omheen:p
Maar goed, je ziet het script..
ja, ik wil dat elk product een eigen rij heeft omdat het me niet lukte om een array te vullen met producten.
ik ben afgehaakt toen ik met Serialize alleen maar weer errors kreeg, ik dacht dan maar quick and dirty maar dan weet ik in ieder geval hoe het moet.
excuus voor deze ranzige manier maar zoveel klanten krijgen we nou ook weer niet :P .
Anyway..
dit is de query die bij de error verschijnt.
CREATE TABLE 94 ( id INT NOT NULL AUTO_INCREMENT, item TEXT(50) NOT NULL, PRIMARY KEY (id) )
94 is het automatisch gegenereerde getal (94 x geprobeerd pas :P)
Gewijzigd op 01/01/1970 01:00:00 door Maarten hallo
Je moet 1 tabel hebben, en daarin meerdere RIJEN, en voor ieder product gebruik je 1 RIJ in de TABEL:
Robert:
Liever zo:
Code (php)
1
2
3
4
5
2
3
4
5
CREATE TABLE $tabel (
id INT( 3 ) NOT NULL AUTO_INCREMENT ,
item VARCHAR( 50 ) NOT NULL ,
PRIMARY KEY ( id )
);
id INT( 3 ) NOT NULL AUTO_INCREMENT ,
item VARCHAR( 50 ) NOT NULL ,
PRIMARY KEY ( id )
);
ookal heb je het niet buiten haaken gezet ("blabla".$var."bla") denk ik tog dat het zo moet.
Gewijzigd op 01/01/1970 01:00:00 door niek s