Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在MySQL中比较INT(11)和FLOOR()结果_Php_Mysql - Fatal编程技术网

Php 在MySQL中比较INT(11)和FLOOR()结果

Php 在MySQL中比较INT(11)和FLOOR()结果,php,mysql,Php,Mysql,我有一个名为quotes的表,我想创建一个MySQL查询,从随机引用中返回数据。我在互联网上搜索,找到了如何创建一个从1到表中引号数的随机数: SELECT FLOOR(RAND() * (SELECT ((SELECT COUNT(*) FROM DAILYS) - 1))) + 1 AS RANDNUM; 我已经测试过了,它可以正常工作,每次在我需要的范围内返回一个随机数 问题是我需要从两个表中获取信息,引用和作者。这在以前是行之有效的: SELECT QUOTES.QUOTE, AUTH

我有一个名为quotes的表,我想创建一个MySQL查询,从随机引用中返回数据。我在互联网上搜索,找到了如何创建一个从1到表中引号数的随机数:

SELECT FLOOR(RAND() * (SELECT ((SELECT COUNT(*) FROM DAILYS) - 1))) + 1 AS RANDNUM;
我已经测试过了,它可以正常工作,每次在我需要的范围内返回一个随机数

问题是我需要从两个表中获取信息,引用和作者。这在以前是行之有效的:

SELECT QUOTES.QUOTE, AUTHORS.NAME, AUTHORS.LINK
FROM QUOTES JOIN AUTHORS ON QUOTES.AUTHOR_ID = AUTHORS.ID
WHERE QUOTES.ID =
(SELECT QUOTE_ID FROM DAILYS WHERE DAY = CURDATE());

现在我想做完全相同的事情,但不是比较引号ID和今天的ID,而是将其与随机数进行比较。根据phpMyAdmin,ID列中的类型是“int(11)”,所以我不知道它可能有什么问题。谢谢你抽出时间

您的第一个查询将生成一个整数。你不能把它和约会做比较(假设这就是你想要做的)

我使用以下答案将您的问题结合起来:

我还没有测试过这个,但我相当有信心它会工作(如果我正确理解您的数据库设计的话)

编辑:根据我引用的页面上的另一个答案,“偏移量为零索引”,因此我删除了“+1”。

什么可能有问题?
SELECT QUOTES.QUOTE, AUTHORS.NAME, AUTHORS.LINK
FROM QUOTES
JOIN AUTHORS ON QUOTES.AUTHOR_ID = AUTHORS.ID
WHERE QUOTES.ID =
(SELECT QUOTE_ID FROM DAYLYS ORDER BY DAY LIMIT
(SELECT FLOOR(RAND() * (SELECT ((SELECT COUNT(*) FROM DAILYS) - 1)))),1);