gpt4 book ai didi

phpmyadmin mysql语法错误-多where条件

转载 作者:行者123 更新时间:2023-11-30 22:27:25 25 4
gpt4 key购买 nike

我需要有关查询语法的帮助。我正在使用 phpmyadmin 4 和 mysql(不确定版本,但怀疑它是 5.6。我的数据库有一个名为 places 的表,其中包含 id、city、state、sightings 和 date 列。我的网站从用户通过 $_POST["city"]$_POST["state"]。我想将 sightings 增加 1,其中城市和州的表条目匹配。

使用 phpmyadmin 的 SQL 查询构建器,我使用地名而不是变量测试了可能的查询结构。以下查询成功:

UPDATE places SET sightings = sightings +1 WHERE city =  "Denver" AND state =  "Colorado"

然后我点击“创建 PHP 代码”,结果如下:

"UPDATE places SET sightings=sightings+1 WHERE city = \"Denver\" AND state = \"Colorado\"";

我插入了这段代码,用地名替换了从 $_POST["city"]$_POST["state"] 声明的变量...

$result = cs50::query("UPDATE places SET sightings=sightings+1 WHERE city = \"{$city}\" AND state = \"{$state}\"");

得到错误信息:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''Denver', 'Colorado')'

我已经对这行代码进行了数小时的修改,但无法使其正常工作。它在 phpmyadmin 中工作的事实意味着它是可行的,我只是编码错误。

函数查询是在我正在学习的类(class)CS50提供的自定义库中定义的。我想知道该功能是否有一些限制(如果有兴趣可以发布代码)或者我只是使用了错误的语法???

欢迎任何帮助,如果我的问题令人困惑,我们深表歉意,这对我来说是一个相对较新的问题。

最佳答案

你试过吗:

"UPDATE places SET sightings=sightings+1 WHERE city = 'Denver' AND state = 'Colorado'";

我一直发现单引号比双引号更正确,即使它们被转义了也是如此。

关于phpmyadmin mysql语法错误-多where条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34815473/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com