【问题标题】:How do you get the row returned by a SQL query that includes PREPARE and EXECUTE in PHP?在 PHP 中如何获取包含 PREPARE 和 EXECUTE 的 SQL 查询返回的行?
【发布时间】:2012-04-24 07:06:13
【问题描述】:

如何使用 PHP 获取 this SQL query 返回的行:

SET @r := (SELECT ROUND(RAND() * (SELECT COUNT(*) FROM mytable)));
SET @sql := CONCAT('SELECT * FROM mytable LIMIT ', @r, ', 1');
PREPARE stmt1 FROM @sql;
EXECUTE stmt1;

$query 设置为等于上述值,然后执行通常的mysql_query($query)返回任何结果。

【问题讨论】:

    标签: php mysql sql database


    【解决方案1】:

    这样做看看是否有效

    mysql_query('SET @r := (SELECT ROUND(RAND() * (SELECT COUNT(*) FROM mytable)));');
    mysql_query('SET @sql := CONCAT('SELECT * FROM mytable LIMIT ', @r, ', 1');');
    $resource = mysql_query('PREPARE stmt1 FROM @sql;EXECUTE stmt1;');
    

    不要忘记在第二条指令中转义 sql

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-25
      • 1970-01-01
      • 2021-01-28
      • 1970-01-01
      • 2016-04-18
      • 2021-01-08
      相关资源
      最近更新 更多