php - 从 php 运行 mysql 查询

标签 php mysql

我正在尝试从这样的 PHP 脚本运行 MySQL 查询:

$q = "
UPDATE
  cf_ab_companies, inndata200
SET
  cf_ab_companies.col_158 = inndata200.AFakt_10_Fast_renhold, 
  cf_ab_companies.col_159 = IF ( inndata200.Startdato = "01.01.3000 00:00" OR inndata200.Startdato = "01.01.2000 00:00", NULL, str_to_date(inndata200.Startdato, '%d.%m.%Y')), 
  cf_ab_companies.col_160 = IF ( inndata200.Sluttdato = "01.01.3000 00:00" OR inndata200.Sluttdato = "01.01.2000 00:00", NULL, str_to_date(inndata200.Sluttdato, '%d.%m.%Y'))
WHERE
  cf_ab_companies.model_id = inndata200.ImportGOID;";

 mysql_query($q, $db);

但是查询似乎没有正确存储在 PHP 中。在 PHP 中存储这样的查询的最简单方法是什么?

感谢大家的帮助

最佳答案

这应该使它工作;在引号 (") 之前加上斜杠 (\),因为它会让人混淆:

$q = "
UPDATE
  cf_ab_companies, inndata200
SET
  cf_ab_companies.col_158 = inndata200.AFakt_10_Fast_renhold, 
  cf_ab_companies.col_159 = IF ( inndata200.Startdato = \"01.01.3000 00:00\" OR inndata200.Startdato = \"01.01.2000 00:00\", NULL, str_to_date(inndata200.Startdato, '%d.%m.%Y')), 
  cf_ab_companies.col_160 = IF ( inndata200.Sluttdato = \"01.01.3000 00:00\" OR inndata200.Sluttdato = \"01.01.2000 00:00\", NULL, str_to_date(inndata200.Sluttdato, '%d.%m.%Y'))
WHERE
  cf_ab_companies.model_id = inndata200.ImportGOID;";

关于php - 从 php 运行 mysql 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20268676/

相关文章:

mysql - 在 Laravel Eloquent 中连接表

MySQL 无法从 Linux 上安装的公共(public) IP 访问

MySql 存储过程选择表

php - PHP7支持多态吗?

php - 将时间转换为可读格式

php - Laravel 5.3 从第二次开始记录一个新的 Facebook 用户

MySQL SELECT LIKE 查询,忽略字符串中的颜色代码

mysql - 从 SQL 表中获取值

javascript - 为什么我的 javascript DOM 不起作用?

php - 该代码用于下载excel文件(.xls)