【问题标题】:PHP MySQL Query using a variable, not diplaying results, nor errorPHP MySQL Query使用变量,不显示结果,也不报错
【发布时间】:2020-06-19 10:37:47
【问题描述】:

我用于查询的变量打印正确,所以它就在那里。

<?php
 print $product_main["ean"]; 
//The variable is there, since it prints
?> 

如果我执行这个查询,它会起作用

$query = ("SELECT * FROM graph ;") or die(mysql_error());

但不是我使用变量的那个

$query = ("SELECT * FROM graph WHERE ean IN ".$product_main["ean"]." group by DAY(created_at);") or die(mysql_error());

不起作用。 我相信问题在于我如何将数组变量包含到查询中

".$product_main["ean"]."

如何做到这一点?

【问题讨论】:

  • 这样使用$query = ("SELECT * FROM graph WHERE ean IN ('".$product_main["ean"]."') group by DAY(created_at);")
  • 为什么你刚刚创建字符串后有or die()
  • 另外,您应该停止使用旧的、不安全的、已弃用/删除的mysql_*-extension。它在 PHP 5.5 中已被弃用,并在 PHP 7 中完全删除
  • 您对 SQL 注入持开放态度。您应该升级驱动程序并使用参数化查询。如果$product_main["ean"] 是一个数组,你不能只是连接它。另外,SQL 中的in 使用() 进行封装。
  • 应该是= 而不是IN

标签: php mysql arrays


【解决方案1】:

Ajith 做对了。我错过了('')

$query = ("SELECT * FROM graph WHERE ean IN ('".$product_main["ean"]."') group by DAY(created_at);");

谢谢

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-06-30
    • 1970-01-01
    • 1970-01-01
    • 2012-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多