php - 显然,从 PHP 发送时此查询中存在 SQL 语法错误,但它在 PHPMyAdmin 上运行良好

标签 php mysql phpmyadmin

这一切都在标题中。

我有这个 SQL 查询,我知道它很丑,但它至少应该可以工作......当我在 PHPMyAdmin 中使用它时它可以工作但是当从 PHP 发送时我从 MySQL 收到语法错误。 :(

INSERT INTO `shortname_revisions` (old_shortname , new_shortname) VALUES ('$old', '$new');

UPDATE `soft_data` SET shortname = REPLACE(shortname ,'$old', '$new');
UPDATE `shot_data` SET shortname = REPLACE(shortname ,'$old', '$new');
UPDATE `virus_scanning` SET shortname = REPLACE(shortname ,'$old', '$new');
UPDATE `lang_translations` SET shortname = REPLACE(shortname ,'$old', '$new');
UPDATE `ratings` SET shortname = REPLACE(shortname ,'$old', '$new');
UPDATE `file_data` SET shortname = REPLACE(shortname ,'$old', '$new');

当粘贴到 PHPMyAdmin 中进行测试时,$new$old 变量将包含任何字符串。使用 $old = "media-player"; $new = "video-player"; 作为示例。

此外,我不确定反引号的正确使用以及它们应该在何处以及何时使用,也许这就是问题的一部分。

对于所有询问错误的人,抱歉,我没有发布它。而且我肯定不会去重新创建错误以将其粘贴到此处。这是一个非常普遍的错误“你在大约这四分之一英里的代码中有一个语法错误”。

最佳答案

1) 每个语句都需要在单独的 mysql_query() 调用中发送。

2) 反引号很好但没有必要,因为在任何这些表名中都没有嵌入空格

3) 我不知道你的数据结构,但是没有“where”子句的 UPDATE 可以被认为是有点不寻常(除非这些是故意的单行表)

关于php - 显然,从 PHP 发送时此查询中存在 SQL 语法错误,但它在 PHPMyAdmin 上运行良好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8806494/

相关文章:

php - 如何使用 Laravel 根据特定列选择 unique() 模型?

javascript - 在 pdf 中使用 javascript 导出 html

mysql - 使用 docker --network 连接 2 个容器

MySQL Workbench - 排序规则恢复为架构默认值

php - Crontab/每月第一个星期日运行cronjob

php - Ajax 响应文本 URL 不工作

php - 在 symfony2 中插入多对多关系

mysql - 外键 null 不起作用

php - 如何在 foreach 循环的每次迭代中更改 post 值

mysql - 使用 longblob 将列添加到大表的最佳方法