Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/254.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 这个mysql语句有什么问题-插入到。。。哪里或_Php_Mysql_Wordpress - Fatal编程技术网

Php 这个mysql语句有什么问题-插入到。。。哪里或

Php 这个mysql语句有什么问题-插入到。。。哪里或,php,mysql,wordpress,Php,Mysql,Wordpress,这是我的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 L

这是我的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的,我正在选择添加一个摘录长度,因为据我所知,还没有。谢谢


Ethan Brouwer

我没有检查,但我认为您不能在INSERT查询中使用OR语句。也许在这个查询之前再进行一次查询,以找到要插入的id。

如果您已经有了id,并且希望保持id不变,请使用
UPDATE
语句

INSERT…
在表中插入新行。它没有WHERE子句。

如果要更新现有行,请使用
update…
语句。

因为Dan指出您的语法不正确。如果要限制WordPress中的摘录长度,可以使用过滤器。请查看。

您不能使用插入到中的where,因为您应该创建一个新记录,没有可查找的引用。您必须改用Update

mysql_query("
UPDATE wp_posts 
SET excerpt = '" . $length . "'
WHERE ID = '" . $ID . "'
OR post_name LIKE '" . $ID . "%'");

插入到
中不需要
WHERE
,因为它无论如何都会追加到末尾。这很容易受到SQL注入的影响,请阅读此线程以了解如何防止它:谢谢!几分钟后我在雅虎上找到了它,但谢谢。现在这是有道理的。