PHP/MySQL, navngive table via variabel?

Software d.  25. januar. 2011, skrevet af Cube2
Vist: 587 gange.

Cube2
 
Superbruger
Tilføjet:
25-01-2011 14:34:21
Svar/Indlæg:
375/46
Sidder med et lille projekt, men har brug for at lave et table, som er nødt til at navngives ved brug af en variabel, har kigget på nettet men kunne ikke få det til at virke, så vil høre om der er nogen der lige ved hvordan man gør?


Kan godt uploade min kode hvis det vil hjælpe
Potteplante
 
Superbruger
Tilføjet:
25-01-2011 15:25:17
Svar/Indlæg:
872/67
$tablename = "blabla"
$string = "CREATE TABLE $tablename"

vil gerne inrømme det noget tid siden jeg har kodet.. 😳

så har du vel en session_start

så kan du vel bare skyde $string af ind i din sql ?


Svaret blev redigeret 2 gange, sidst af Potteplante d. 25-01-2011 15:25:53.


@ngler
 
Redaktør
Tilføjet:
25-01-2011 15:54:58
Svar/Indlæg:
4033/364
<?php
// du laver connection til database
$username="username";
$password="password";
$database="your_database";

$tablename = "blabla" ;
$felter = "(id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, data VARCHAR(100))";
$sql = "CREATE TABLE $tablename $felter";

//forbinder til DB
mysql_connect(localhost,$username,$password);
@mysql_select_db($database) or die( "Unable to select database");

//for at eksekvere koden
Mysql_query($sql);

//Lukker forbindelsen
Mysql_close();
?>


du kan evt. hvis du har phpmyadmin , lave en tabel og så få den eksporteret med fulde sætninger, så mener jeg vist nok du får SQL streng + evt. php..



Cube2
 
Superbruger
Tilføjet:
25-01-2011 20:18:30
Svar/Indlæg:
375/46
Har prøvet jeres forslag men kunne ikke få det til at virke

Pt. ser min kode sådan ud, der mangler dog et par detaljer, men ikke noget der skulle påvirke oprettelse af table

Den del der ikke virker: http://pastebin.com/7eFZANGw


@ngler
 
Redaktør
Tilføjet:
25-01-2011 20:36:56
Svar/Indlæg:
4033/364
Er godt nok ude med hunden, men det ser ud til der er noget problem med tegnene.

Eks i php
$var ="test";
echo $var; giver output test

Echo "$var"; også giver test

Men echo '$var'; giver $var

Ergo din create vil jeg tro fejler da den ikke er i " ".
på samme måde mener jeg at insert bruger. ' ' til værdierne ikke gåsetegn


Cube2
 
Superbruger
Tilføjet:
25-01-2011 21:49:30
Svar/Indlæg:
375/46
Det var det der fik det til at virke sidst, men vil da lige prøve


Cube2
 
Superbruger
Tilføjet:
25-01-2011 22:05:10
Svar/Indlæg:
375/46
fik det til at virke, skulle bare bruge

="CREATE TABLE `$navn6` $felter";


ergo var løsningen= `````````````

ja jeg overdrev, men håber i fik det at se


@ngler
 
Redaktør
Tilføjet:
25-01-2011 22:08:02
Svar/Indlæg:
4033/364
godt det virker..

burde dog være "CREATE TABLE " .$navn6." ".$felter;



Cube2
 
Superbruger
Tilføjet:
25-01-2011 22:26:09
Svar/Indlæg:
375/46
#7 Prøvede vist det eller noget ligende, med det duede ikke.


Cube2
 
Superbruger
Tilføjet:
25-01-2011 23:09:52
Svar/Indlæg:
375/46
PS. Har nu fået en sjat råd og ændrer min opbygning til 2 tabeller i alt, i stedet for at oprette en hver gang, men takker for hjælp anyway.


@ngler
 
Redaktør
Tilføjet:
26-01-2011 06:15:19
Svar/Indlæg:
4033/364
#8 oh man skal sikkert have tabelnavnet i anførelsestegn. Gennemskuede ikke lige hvorfor du skulle lave en tabel hver gang... fif lav echo foran dine sætninger så kan du se hvad det er at PHPen gør, fx echo "create ....... ";


@ngler
 
Redaktør
Tilføjet:
26-01-2011 06:15:34
Svar/Indlæg:
4033/364
#8 oh man skal sikkert have tabelnavnet i anførelsestegn. Gennemskuede ikke lige hvorfor du skulle lave en tabel hver gang... fif lav echo foran dine sætninger så kan du se hvad det er at PHPen gør, fx echo "create ....... ";


Cube2
 
Superbruger
Tilføjet:
26-01-2011 07:26:35
Svar/Indlæg:
375/46
Er/var der også, hvis den lavede table skrev den "new table created" ellers "no table created", derudover var der 5000 beskeder af succes og andet fis, men det behøves ikke længere