Jump to content
php.lv forumi

Varat palīdzēt!


Recommended Posts

Esmu jauniņais PHP, varat palīdzet atrisināt vienu problēmu. Vēlos izveidot tabulu ar nosaukumu, kādā ir nosaukts lauks citā tabulā. Kods:

....

$title= $_GET['title'];

$sql = "CREATE TABLE $title (

`id` int(4) NOT NULL auto_increment,

`name` varchar(65) NOT NULL default '',

`email` varchar(65) NOT NULL default '',

`comment` longtext NOT NULL,

`datetime` varchar(65) NOT NULL default '',

PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;";

......

 

$result = mysql_query($sql,$connect);

....

Šāds kods nedarbojas, esmu pagooglejis arī šādi kodi CREATE TABLE `$title`...;CREATE TABLE `($title)`...; CREATE TABLE `DBvārds`.$title nedarbojas.

Link to post
Share on other sites

Tā noteikti nav pārbaude, uz ko tev jāskatās. Tev ir jāpārbauda tā CREATE kverija rezultātu ($result). Un ja rezultāts saka, ka ir kļūda, tad izvadi kļūdas paziņojumu (mysql_error).

Link to post
Share on other sites

izdeva šādu paziņojumu:

 

"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(4) NOT NULL auto_increment, `name` varchar(65) NOT ' at line 1"

 

izpildot: ($title vietā a)

 

"CREATE TABLE a (

`id` int(4) NOT NULL auto_increment,

`name` varchar(65) NOT NULL default '',

`email` varchar(65) NOT NULL default '',

`comment` longtext NOT NULL,

`datetime` varchar(65) NOT NULL default '',

PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;";

 

 

query izpildās bez problēmām.

Link to post
Share on other sites
Izdrukā kveriju (echo $sql) un pārbaudi tā sintaksi.

Laikam esmu stūlbs, bet kļūdu es neredzu

 

CREATE TABLE ( `id` int(4) NOT NULL auto_increment, `name` varchar(65) NOT NULL default '', `email` varchar(65) NOT NULL default '', `comment` longtext NOT NULL, `datetime` varchar(65) NOT NULL default '', PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

Link to post
Share on other sites

Par kādu pārbaudi tu runā?

Es tev prasu kāpēc tu gribi likt tabulai nosaukumu "1" vai "1-posts". Tas ļoti aizdomīgi izskatās pēc tā, ka tu nepareizi izmanto SQL datubāzi, jo man šķiet, ka tu taisi visparastāko 1:N relāciju starp divām tabulām līkā veidā.

Link to post
Share on other sites
×
×
  • Create New...