2

这是我的 mysql 语句,但由于某种原因它实际上并没有工作,我不知道为什么。提前致谢!

$ID = $_GET['post'];
$length = $_POST['excerpt_length'];

more code here to connect and select db...

mysql_query("
INSERT INTO wp_posts (excerpt)
VALUES(" . $length . ")
WHERE ID = " . $ID . "
OR post_name LIKE '" . $ID . "%'");

这是针对 wordpress 的,我正在选择添加摘录长度,因为据我所知,还没有。谢谢!

伊桑·布劳威尔

4

5 回答 5

4

如果您已经有一个 ID,并且希望保持该 ID 不变,请使用UPDATE语句。

于 2012-06-05T07:22:44.983 回答
3

你不能使用 where in insert into 因为你应该创建一个新记录,没有要查找的引用。您必须改用更新。

mysql_query("
UPDATE wp_posts 
SET excerpt = '" . $length . "'
WHERE ID = '" . $ID . "'
OR post_name LIKE '" . $ID . "%'");
于 2012-06-05T07:32:31.790 回答
1

INSERT ...在表中插入一个新行。它没有WHERE子句。
如果要更新现有行,请使用UPDATE ...语句。

于 2012-06-05T07:23:00.860 回答
1

正如 Dan 指出的那样,您的语法不正确。如果您想限制 WordPress 中的摘录长度,您可以使用过滤器。看看这个帖子

于 2012-06-05T07:23:34.527 回答
0

我没有检查过,但我认为您不能在 INSERT 查询中使用 OR 语句。也许在此之前进行另一个查询以找出要插入的 id..?

于 2012-06-05T07:21:31.180 回答