1

尝试使用 phpacademy 的教程创建博客,当我使用 php 在我的 mysql 中添加类别名称时遇到了问题(在此视频中https://www.youtube.com/watch?v=JBcXMVjk83Q

作者正在使用此代码将类别名称放入类别表中:

function add_category($name) {
$name = mysql_real_escape_string($name);

mysql_query("INSERT INTO `categories` VALUES `name` = `{$name}`");

}

但它对我不起作用(我正在使用 PHP 版本 5.3.3-7 和 Ver 14.14 Distrib 5.1.49 在 debian 挤压上对其进行测试)。

我正在正确连接到 mysql 和数据库,但是我们通过命令行直接在 mysql 中尝试查询,出现以下错误:

ERROR 1054 (42S22): Unknown column 'uncategorized' in 'field list'

然后我注意到使用这个查询是有效的:

INSERT INTO categories(name)VALUES('uncategorized');

但我想知道是否有一种方法可以使用与作者使用的方法相同的方法,以及它是否比我发现有效的选项更好、更安全、更快(或其他方式)。

谢谢!

4

2 回答 2

3

您在这里使用了错误的引号:

mysql_query("INSERT INTO `categories` VALUES `name` = `{$name}`");

使用单引号:

mysql_query("INSERT INTO `categories` VALUES `name` = '{$name}'");

单引号框架数据,而反引号`用于标记数据库元素 - 表、列等。

于 2011-12-01T12:52:48.973 回答
1

你可以这样做

mysql_query("INSERT INTO categories(name) VALUES('$name')");
于 2011-12-01T13:11:39.083 回答