2016-09-14 50 views
0

我想通过用户创建的号码的名称创建一个表。所以我写的Postgres查询是如何添加一个php变量到postgres查询?

$sql = 'CREATE TABLE '.$rNumber.'_Bus_Stops(
       id serial primary key, 
       name character varying, 
       x double precision, 
       y double precision 
       );'; 

我得到这个错误。

Warning: pg_query(): Query failed: ERROR: syntax error at or near "11" LINE 1: CREATE TABLE 11_Bus_Stops(^ in C:\wamp\www\cdap4\route1.php on line 138

试着用双引号也一样。这是行不通的。有人可以帮忙吗?它的工作原理完全正常,如果我删除$ rNumber

+1

你得到任何错误?向我们展示更多代码以支持_it不起作用_ – Thamilan

+0

是的,对不起,我添加了错误消息。 –

+0

查询需要如下所示:-' $ sql =“CREATE TABLE”。$ rNumber。“_ Bus_Stops(id int NOT NULL,name char(50)NOT NULL,x double,y double,CONSTRAINT”。$ rNumber。“_ Bus_Stops PRIMARY KEY(id));“;' –

回答

1

由于表名以数字开头,它必须是一个引号的标识符(用双引号括起来的标识符):

$sql = 'CREATE TABLE "'.$rNumber.'_Bus_Stops" (
+0

非常感谢!这工作! –