PHP değişken adı seçilen bir tabloya Değişkenler takın

3 Cevap php

Yani, veri koymak ediliyor tablo adı bir PHP Değişken bir MySQL tabloya bazı veri eklemek istiyorum.

Böyle bir şey:

$tablename = "databasetable";

$insert = mysql_query(
"INSERT INTO '".$tablename."' (column1, col2) 
VALUES ('Blah', 'Blah')
");

But that of course doesn't work, so I'm not sure what to do. By the way, I'm new to PHP and StackOverflow.

3 Cevap

Tablo adı değişkeni etrafında tek tırnak çıkarın ve çalışacağız:

$tablename = "databasetable";

$insert = mysql_query(
"INSERT INTO ".$tablename." (column1, col2) VALUES ('Blah', 'Blah')");

Ne hakkında:

$tablename = "databasetable";
$insert = mysql_query("INSERT INTO ".$tablename." (column1, col2) VALUES ('Blah', 'Blah')");

yani, basit tırnak olmadan tablo adı etrafında koyarak.

Ya da, yani, çift tırnaklı dize kullanarak gibi değişkenler enterpolasyonlanır:

$tablename = "databasetable";
$insert = mysql_query("INSERT INTO $tablename (column1, col2) VALUES ('Blah', 'Blah')");

Bir dipnot düşmek gibi, her iki durumda da, size $tablename herhangi bir kötü veri içermiyorsa gerçekten emin olmalıdır!

Gibi diğer zararlı enjeksiyon olasılığını önlemek Ben bir tablo olarak ayırmak için tablo adı sorguda 'back-kene' kullanmak olsa da Benim cevabım, Doug benzer ...

Örneğin

$tablename = "databasetable";

$insert = mysql_query("INSERT INTO `{$tablename}` (column1, col2) 
                         VALUES ('Blah', 'Blah')"
                     );