php - MYSQL变量在php查询中

标签 php mysql pivot

我试图在一个查询中查询多个 mysql 语句,但失败了。

$testq ="";
        $testq .= mysql_query("SET @@group_concat_max_len = 5000");
        $testq .= mysql_query("SET @sql = NULL");
        $testq .= mysql_query("SELECT   GROUP_CONCAT(DISTINCT
                    CONCAT(
                      'MAX(IF(property_name = ''',
                      property_name,
                      ''', value, NULL)) AS ',
                      property_name
                    )
                  ) INTO @sql FROM properties");
        $testq .= mysql_query("SET @sql = CONCAT('SELECT item_id, ', @sql, ' FROM properties GROUP BY item_id')");
        $testq .= mysql_query("PREPARE stmt FROM @sql");
        $testq .= mysql_query("EXECUTE stmt"); 
        $da = mysql_query($testq, $dbconnect);          
        while($rt = mysql_fetch_assoc($da){
            //print
             }

错误是:警告:mysql_fetch_assoc() 期望参数 1 为资源, bool 值在 C:\Users.....第 24 行给出 如何执行此查询并将结果打印在表中?

最佳答案

出于安全原因,PHP 中的 MySQL 扩展不支持使用 mysql_query 进行多重查询。你不应该再使用MySQL,使用MySQLi

您应该使用 UNION 或类似的东西来连接查询。如果您只想进行多重查询,则应该使用 MySQLi 库中的mysqli_multi_query

那么语法必须是另一种。查询必须在一个函数中作为一个字符串提交,如下所示:

$mysqli->multi_query("SELECT * FROM table; TRUNCATE table; DROP table;");

关于php - MYSQL变量在php查询中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32100306/

相关文章:

php - 无法安装 phpMyAdmin 错误 : php71w-common conflicts with php-common-5. 4.16-43.el7_4.1.x86_64

mysql 透视动态表并仅在 count > 0 时返回

php - Google Cloud Storage 存储桶->存在给出 403

php - 如果字符串长度大于设置的最大值,为什么数据会进入数据库

php - 如何为使用 ExcelImport、存储库和模型的自定义命令编写 Laravel 测试

mysql - column=null 的 SQL 查询返回零结果集

php - 检查有多少不同的值并返回它们

c# - 使用 Linq 的数据透视表

python - 具有两列列表的旋转数据框

php - 如何唯一标识一台计算机?