2011-08-26 82 views
0

我想使用查询从php文件中插入一些特定的值到我的MySQL数据库。 我用下面的代码片段:有插入查询的模板吗?

mysql_query("INSERT INTO `text` VALUES ('', '$user_id', '$text', '"$categories"')"); 

,但我得到一个错误说以下内容:

Parse error: syntax error, unexpected T_VARIABLE in C:\xampp\htdocs\Project\Func\idea.func.php on line 10

有谁知道我做错了吗?

我已让他们变成真正的逃逸字符串表示两个变量,更早。我的MySQL表结构如下:

idea_id (auto) 
user_id 
text 
categories 
timestamp 
+1

'$ categories'用双引号括起来;删除它们。 –

回答

3

您需要使用字符串连接:

mysql_query("INSERT INTO `text` VALUES ('', '$user_id', '$text', '" . $categories . "')"); 

或摆脱双引号周围$类:

mysql_query("INSERT INTO `text` VALUES ('', '$user_id', '$text', '$categories')"); 
+0

请注意,第二种方法有一个小的性能问题 – bcoughlan

+0

谢谢,现在它工作得很好! – NorS

+1

很高兴听到它NorS! 感谢您的信息,waitinforatrain。为了保持一致性,我只添加了它,因为他有这样的$ text,但这很好知道 – wolv2012

0

变化'"$categories"')")'" . $categories . "')"

你需要把变量之间fullstops告诉您要串联在一起(加盟)这一切作为一个字符串PHP。

+0

谢谢,现在它工作得很好! – NorS

2

我宁愿

mysql_query(sprintf( 
    "INSERT INTO `text` VALUES ('', '%s', '%s', '%s')", 
    mysql_real_escape_string($user_id), 
    mysql_real_escape_string($text), 
    mysql_real_escape_string($categories)) 
); 
0

点是非常重要的在这种情况下,它在这种情况下用于分离两个变量。如果没有点返回错误